@subwallet/extension-base 1.2.31-0 → 1.2.33-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 +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 -15
- 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/SubstrateApi.js +1 -0
- 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 -17
- 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/SubstrateApi.js +1 -0
- 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/mkt-campaign-service/types.d.ts +4 -0
- 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
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="chrome" />
|
|
2
2
|
import { _AssetRef, _AssetType, _ChainAsset, _ChainInfo, _MultiChainAsset } from '@subwallet/chain-list/types';
|
|
3
|
-
import { AddTokenRequestExternal, AmountData, ApiMap, AuthRequestV2, ChainStakingMetadata, ConfirmationsQueue, CrowdloanItem, CrowdloanJson,
|
|
4
|
-
import {
|
|
3
|
+
import { AddTokenRequestExternal, AmountData, ApiMap, AuthRequestV2, ChainStakingMetadata, ConfirmationsQueue, ConfirmationsQueueTon, CrowdloanItem, CrowdloanJson, EvmSendTransactionParams, ExternalRequestPromise, MantaPayConfig, MantaPaySyncState, NftCollection, NftItem, NftJson, NominatorMetadata, RequestAccountExportPrivateKey, RequestConfirmationComplete, RequestConfirmationCompleteTon, RequestCrowdloanContributions, RequestSettingsType, ResponseAccountExportPrivateKey, ServiceInfo, SingleModeJson, StakingItem, StakingJson, StakingRewardItem, StakingRewardJson, StakingType, UiSettings } from '@subwallet/extension-base/background/KoniTypes';
|
|
4
|
+
import { RequestAuthorizeTab, RequestRpcSend, RequestRpcSubscribe, RequestRpcUnsubscribe, RequestSign, ResponseRpcListProviders, ResponseSigning } from '@subwallet/extension-base/background/types';
|
|
5
5
|
import { BalanceService } from '@subwallet/extension-base/services/balance-service';
|
|
6
6
|
import BuyService from '@subwallet/extension-base/services/buy-service';
|
|
7
7
|
import CampaignService from '@subwallet/extension-base/services/campaign-service';
|
|
@@ -25,9 +25,8 @@ import { SubscanService } from '@subwallet/extension-base/services/subscan-servi
|
|
|
25
25
|
import { SwapService } from '@subwallet/extension-base/services/swap-service';
|
|
26
26
|
import TransactionService from '@subwallet/extension-base/services/transaction-service';
|
|
27
27
|
import WalletConnectService from '@subwallet/extension-base/services/wallet-connect-service';
|
|
28
|
-
import {
|
|
28
|
+
import { EvmFeeInfo, RequestCheckPublicAndSecretKey, ResponseCheckPublicAndSecretKey, StorageDataInterface } from '@subwallet/extension-base/types';
|
|
29
29
|
import { MetadataDef, ProviderMeta } from '@subwallet/extension-inject/types';
|
|
30
|
-
import SimpleKeyring from 'eth-simple-keyring';
|
|
31
30
|
import { BehaviorSubject, Subject } from 'rxjs';
|
|
32
31
|
import { JsonRpcResponse, ProviderInterface, ProviderInterfaceCallback } from '@polkadot/rpc-provider/types';
|
|
33
32
|
declare type Providers = Record<string, {
|
|
@@ -38,7 +37,6 @@ export default class KoniState {
|
|
|
38
37
|
private injectedProviders;
|
|
39
38
|
private readonly providers;
|
|
40
39
|
private readonly unsubscriptionMap;
|
|
41
|
-
private readonly accountRefStore;
|
|
42
40
|
private externalRequest;
|
|
43
41
|
private crowdloanMap;
|
|
44
42
|
private crowdloanSubject;
|
|
@@ -90,9 +88,8 @@ export default class KoniState {
|
|
|
90
88
|
rpcSubscribeConnected(_request: null, cb: ProviderInterfaceCallback, port: chrome.runtime.Port): void;
|
|
91
89
|
rpcUnsubscribe(request: RequestRpcUnsubscribe, port: chrome.runtime.Port): Promise<boolean>;
|
|
92
90
|
saveMetadata(meta: MetadataDef): void;
|
|
93
|
-
sign(url: string, request: RequestSign
|
|
91
|
+
sign(url: string, request: RequestSign): Promise<ResponseSigning>;
|
|
94
92
|
get authSubjectV2(): BehaviorSubject<import("@subwallet/extension-base/background/types").AuthorizeRequest[]>;
|
|
95
|
-
generateDefaultBalanceMap(_addresses?: string[]): BalanceMap;
|
|
96
93
|
private afterChainServiceInit;
|
|
97
94
|
init(): Promise<void>;
|
|
98
95
|
initMantaPay(password: string): Promise<void>;
|
|
@@ -106,7 +103,6 @@ export default class KoniState {
|
|
|
106
103
|
subscribeEvmChainChange(): Subject<AuthUrls>;
|
|
107
104
|
subscribeAuthorizeUrlSubject(): Subject<AuthUrls>;
|
|
108
105
|
getAuthList(): Promise<AuthUrls>;
|
|
109
|
-
getAddressList(value?: boolean): Record<string, boolean>;
|
|
110
106
|
authorizeUrlV2(url: string, request: RequestAuthorizeTab): Promise<boolean>;
|
|
111
107
|
getNativeTokenInfo(networkKey: string): _ChainAsset;
|
|
112
108
|
getChainInfo(networkKey: string): _ChainInfo;
|
|
@@ -137,13 +133,8 @@ export default class KoniState {
|
|
|
137
133
|
resetStakingReward(): void;
|
|
138
134
|
updateStakingReward(stakingRewardData: StakingRewardItem, callback?: (stakingRewardData: StakingRewardJson) => void): void;
|
|
139
135
|
updateStakingRewardReady(ready: boolean): void;
|
|
140
|
-
getAccountRefMap(callback: (refMap: Record<string, Array<string>>) => void): void;
|
|
141
|
-
addAccountRef(addresses: string[], callback: () => void): void;
|
|
142
|
-
removeAccountRef(address: string, callback: () => void): void;
|
|
143
136
|
getStakingReward(update: (value: StakingRewardJson) => void): void;
|
|
144
137
|
subscribeStakingReward(): Subject<StakingRewardJson>;
|
|
145
|
-
setCurrentAccount(data: CurrentAccountInfo, callback?: () => void, preventOneAccount?: boolean): void;
|
|
146
|
-
setAccountTie(address: string, genesisHash: string | null): boolean;
|
|
147
138
|
switchEvmNetworkByUrl(shortenUrl: string, networkKey: string): Promise<void>;
|
|
148
139
|
addNetworkConfirm(id: string, url: string, networkData: _NetworkUpsertParams): Promise<null>;
|
|
149
140
|
addTokenConfirm(id: string, url: string, tokenInfo: AddTokenRequestExternal): Promise<true>;
|
|
@@ -154,9 +145,6 @@ export default class KoniState {
|
|
|
154
145
|
updateSetting<T extends keyof UiSettings>(key: T, value: UiSettings[T]): void;
|
|
155
146
|
setShowBalance(value: boolean): void;
|
|
156
147
|
subscribeSettingsSubject(): Subject<RequestSettingsType>;
|
|
157
|
-
getAccountAddress(): string | null;
|
|
158
|
-
getDecodedAddresses(address?: string): string[];
|
|
159
|
-
getAllAddresses(): string[];
|
|
160
148
|
resetCrowdloanMap(newAddress: string): Promise<void>;
|
|
161
149
|
resetStaking(newAddress: string): void;
|
|
162
150
|
getCrowdloan(reset?: boolean): CrowdloanJson;
|
|
@@ -197,6 +185,8 @@ export default class KoniState {
|
|
|
197
185
|
getSubstrateApi(networkKey: string): import("@subwallet/extension-base/services/chain-service/types")._SubstrateApi;
|
|
198
186
|
getEvmApiMap(): Record<string, import("../../../services/chain-service/handler/EvmApi").EvmApi>;
|
|
199
187
|
getEvmApi(networkKey: string): import("../../../services/chain-service/handler/EvmApi").EvmApi;
|
|
188
|
+
getTonApiMap(): Record<string, import("../../../services/chain-service/handler/TonApi").TonApi>;
|
|
189
|
+
getTonApi(networkKey: string): import("../../../services/chain-service/handler/TonApi").TonApi;
|
|
200
190
|
getApiMap(): ApiMap;
|
|
201
191
|
refreshSubstrateApi(key: string): boolean;
|
|
202
192
|
refreshWeb3Api(key: string): void;
|
|
@@ -213,20 +203,23 @@ export default class KoniState {
|
|
|
213
203
|
findChainIdGenesisHash(genesisHash?: string | null): number | undefined;
|
|
214
204
|
findNetworkKeyByChainId(chainId?: number | null): [string | undefined, _ChainInfo | undefined];
|
|
215
205
|
findSingleMode(genesisHash: string): SingleModeJson | undefined;
|
|
216
|
-
accountExportPrivateKey(
|
|
217
|
-
checkPublicAndSecretKey(
|
|
218
|
-
getEthKeyring(address: string, password: string): Promise<SimpleKeyring>;
|
|
206
|
+
accountExportPrivateKey(request: RequestAccountExportPrivateKey): ResponseAccountExportPrivateKey;
|
|
207
|
+
checkPublicAndSecretKey(request: RequestCheckPublicAndSecretKey): ResponseCheckPublicAndSecretKey;
|
|
219
208
|
evmSign(id: string, url: string, method: string, params: any, topic?: string): Promise<string | undefined>;
|
|
220
209
|
calculateAllGasFeeOnChain(activeEvmChains: string[], timeout?: number): Promise<Record<string, EvmFeeInfo | null>>;
|
|
221
210
|
evmSendTransaction(id: string, url: string, transactionParams: EvmSendTransactionParams, networkKeyInit?: string, topic?: string): Promise<string | undefined>;
|
|
222
211
|
getConfirmationsQueueSubject(): BehaviorSubject<ConfirmationsQueue>;
|
|
212
|
+
getConfirmationsQueueSubjectTon(): BehaviorSubject<ConfirmationsQueueTon>;
|
|
223
213
|
completeConfirmation(request: RequestConfirmationComplete): Promise<boolean>;
|
|
214
|
+
completeConfirmationTon(request: RequestConfirmationCompleteTon): Promise<boolean>;
|
|
224
215
|
private onMV3Update;
|
|
216
|
+
private storePreviousVersionData;
|
|
225
217
|
migrateMV3LocalStorage(data: string): Promise<boolean>;
|
|
226
218
|
private onMV3Install;
|
|
227
219
|
onInstallOrUpdate(details: chrome.runtime.InstalledDetails): void;
|
|
228
220
|
private onHandleRemindExportAccount;
|
|
229
221
|
setStorageFromWS({ key, value }: StorageDataInterface): Promise<boolean>;
|
|
222
|
+
getStorageFromWS(key: string): Promise<string | null>;
|
|
230
223
|
onCheckToRemindUser(): void;
|
|
231
224
|
onInstall(): void;
|
|
232
225
|
get activeNetworks(): Record<string, _ChainInfo>;
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
import { EvmProviderError } from '@subwallet/extension-base/background/errors/EvmProviderError';
|
|
5
5
|
import { withErrorLog } from '@subwallet/extension-base/background/handlers/helpers';
|
|
6
6
|
import { isSubscriptionRunning, unsubscribe } from '@subwallet/extension-base/background/handlers/subscriptions';
|
|
7
|
-
import { APIItemState,
|
|
8
|
-
import {
|
|
7
|
+
import { APIItemState, ChainType, EvmProviderErrorType, ExternalRequestPromiseStatus, ExtrinsicType } from '@subwallet/extension-base/background/KoniTypes';
|
|
8
|
+
import { MANTA_PAY_BALANCE_INTERVAL, REMIND_EXPORT_ACCOUNT } from '@subwallet/extension-base/constants';
|
|
9
9
|
import { convertErrorFormat, generateValidationProcess, validationAuthMiddleware, validationAuthWCMiddleware, validationConnectMiddleware, validationEvmDataTransactionMiddleware, validationEvmSignMessageMiddleware } from '@subwallet/extension-base/core/logic-validation';
|
|
10
10
|
import { BalanceService } from '@subwallet/extension-base/services/balance-service';
|
|
11
11
|
import { ServiceStatus } from '@subwallet/extension-base/services/base/types';
|
|
@@ -34,31 +34,25 @@ import { SwapService } from '@subwallet/extension-base/services/swap-service';
|
|
|
34
34
|
import TransactionService from '@subwallet/extension-base/services/transaction-service';
|
|
35
35
|
import WalletConnectService from '@subwallet/extension-base/services/wallet-connect-service';
|
|
36
36
|
import { SWStorage } from '@subwallet/extension-base/storage';
|
|
37
|
-
import
|
|
38
|
-
import {
|
|
37
|
+
import { BasicTxErrorType } from '@subwallet/extension-base/types';
|
|
38
|
+
import { isManifestV3, stripUrl, targetIsWeb } from '@subwallet/extension-base/utils';
|
|
39
39
|
import { createPromiseHandler } from '@subwallet/extension-base/utils/promise';
|
|
40
|
-
import { decodePair } from '@subwallet/keyring/pair/decode';
|
|
41
40
|
import { keyring } from '@subwallet/ui-keyring';
|
|
42
41
|
import BN from 'bn.js';
|
|
43
|
-
import SimpleKeyring from 'eth-simple-keyring';
|
|
44
42
|
import { t } from 'i18next';
|
|
45
43
|
import { Subject } from 'rxjs';
|
|
46
|
-
import { assert,
|
|
47
|
-
import {
|
|
44
|
+
import { assert, logger as createLogger, noop } from '@polkadot/util';
|
|
45
|
+
import { isEthereumAddress } from '@polkadot/util-crypto';
|
|
48
46
|
import { KoniCron } from "../cron.js";
|
|
49
47
|
import { KoniSubscription } from "../subscription.js";
|
|
50
48
|
|
|
51
49
|
// eslint-disable-next-line @typescript-eslint/no-var-requires,@typescript-eslint/no-unsafe-assignment
|
|
52
50
|
const passworder = require('browser-passworder');
|
|
53
|
-
const ETH_DERIVE_DEFAULT = '/m/44\'/60\'/0\'/0/0';
|
|
54
51
|
const ERROR_CONFIRMATION_TYPE = ['errorConnectNetwork'];
|
|
55
52
|
|
|
56
53
|
// List of providers passed into constructor. This is the list of providers
|
|
57
54
|
// exposed by the extension.
|
|
58
55
|
|
|
59
|
-
const getSuri = (seed, type) => {
|
|
60
|
-
return type === 'ethereum' ? `${seed}${ETH_DERIVE_DEFAULT}` : seed;
|
|
61
|
-
};
|
|
62
56
|
const generateDefaultCrowdloanMap = () => {
|
|
63
57
|
const crowdloanMap = {};
|
|
64
58
|
return crowdloanMap;
|
|
@@ -67,7 +61,6 @@ const DEFAULT_CURRENCY = 'USD';
|
|
|
67
61
|
export default class KoniState {
|
|
68
62
|
injectedProviders = new Map();
|
|
69
63
|
unsubscriptionMap = {};
|
|
70
|
-
accountRefStore = new AccountRefStore();
|
|
71
64
|
externalRequest = {};
|
|
72
65
|
crowdloanMap = generateDefaultCrowdloanMap();
|
|
73
66
|
crowdloanSubject = new Subject();
|
|
@@ -91,7 +84,7 @@ export default class KoniState {
|
|
|
91
84
|
this.providers = providers;
|
|
92
85
|
this.eventService = new EventService();
|
|
93
86
|
this.dbService = new DatabaseService(this.eventService);
|
|
94
|
-
this.keyringService = new KeyringService(this
|
|
87
|
+
this.keyringService = new KeyringService(this);
|
|
95
88
|
this.notificationService = new NotificationService();
|
|
96
89
|
this.chainService = new ChainService(this.dbService, this.eventService);
|
|
97
90
|
this.subscanService = SubscanService.getInstance();
|
|
@@ -191,35 +184,12 @@ export default class KoniState {
|
|
|
191
184
|
saveMetadata(meta) {
|
|
192
185
|
this.requestService.saveMetadata(meta);
|
|
193
186
|
}
|
|
194
|
-
sign(url, request
|
|
195
|
-
return this.requestService.sign(url, request
|
|
187
|
+
sign(url, request) {
|
|
188
|
+
return this.requestService.sign(url, request);
|
|
196
189
|
}
|
|
197
190
|
get authSubjectV2() {
|
|
198
191
|
return this.requestService.authSubjectV2;
|
|
199
192
|
}
|
|
200
|
-
generateDefaultBalanceMap(_addresses) {
|
|
201
|
-
const balanceMap = {};
|
|
202
|
-
const activeChains = this.chainService.getActiveChainInfoMap();
|
|
203
|
-
const isAllAccount = isAccountAll(this.keyringService.currentAccount.address);
|
|
204
|
-
const addresses = _addresses || (isAllAccount ? Object.keys(this.keyringService.accounts) : [this.keyringService.currentAccount.address]);
|
|
205
|
-
addresses.forEach(address => {
|
|
206
|
-
const temp = {};
|
|
207
|
-
Object.values(activeChains).forEach(chainInfo => {
|
|
208
|
-
const chainAssetMap = this.chainService.getFungibleTokensByChain(chainInfo.slug);
|
|
209
|
-
Object.keys(chainAssetMap).forEach(assetSlug => {
|
|
210
|
-
temp[assetSlug] = {
|
|
211
|
-
address,
|
|
212
|
-
tokenSlug: assetSlug,
|
|
213
|
-
free: '',
|
|
214
|
-
locked: '',
|
|
215
|
-
state: APIItemState.PENDING
|
|
216
|
-
};
|
|
217
|
-
});
|
|
218
|
-
});
|
|
219
|
-
balanceMap[address] = temp;
|
|
220
|
-
});
|
|
221
|
-
return balanceMap;
|
|
222
|
-
}
|
|
223
193
|
afterChainServiceInit() {
|
|
224
194
|
this.subscanService.setSubscanChainMap(this.chainService.getSubscanChainMap());
|
|
225
195
|
}
|
|
@@ -303,13 +273,6 @@ export default class KoniState {
|
|
|
303
273
|
getAuthList() {
|
|
304
274
|
return this.requestService.getAuthList();
|
|
305
275
|
}
|
|
306
|
-
getAddressList(value = false) {
|
|
307
|
-
const addressList = Object.keys(this.keyringService.accounts);
|
|
308
|
-
return addressList.reduce((addressList, v) => ({
|
|
309
|
-
...addressList,
|
|
310
|
-
[v]: value
|
|
311
|
-
}), {});
|
|
312
|
-
}
|
|
313
276
|
async authorizeUrlV2(url, request) {
|
|
314
277
|
return this.requestService.authorizeUrlV2(url, request);
|
|
315
278
|
}
|
|
@@ -333,7 +296,7 @@ export default class KoniState {
|
|
|
333
296
|
return this.dbService.getMantaPayConfig(chain);
|
|
334
297
|
}
|
|
335
298
|
async getStaking() {
|
|
336
|
-
const addresses = this.getDecodedAddresses();
|
|
299
|
+
const addresses = this.keyringService.context.getDecodedAddresses();
|
|
337
300
|
const stakings = await this.dbService.getStakings(addresses, this.activeChainSlugs);
|
|
338
301
|
return {
|
|
339
302
|
ready: true,
|
|
@@ -393,7 +356,7 @@ export default class KoniState {
|
|
|
393
356
|
nftList: [],
|
|
394
357
|
total: 0
|
|
395
358
|
})).catch(e => this.logger.warn(e));
|
|
396
|
-
const addresses = this.getDecodedAddresses(newAddress);
|
|
359
|
+
const addresses = this.keyringService.context.getDecodedAddresses(newAddress);
|
|
397
360
|
this.dbService.subscribeNft(addresses, this.activeChainSlugs, nfts => {
|
|
398
361
|
this.nftSubject.next({
|
|
399
362
|
nftList: nfts,
|
|
@@ -412,7 +375,7 @@ export default class KoniState {
|
|
|
412
375
|
this.dbService.cleanUpNft(chain, owner, collectionId, nftIds, ownNothing).catch(e => this.logger.warn(e));
|
|
413
376
|
}
|
|
414
377
|
async getNft() {
|
|
415
|
-
const addresses = this.getDecodedAddresses();
|
|
378
|
+
const addresses = this.keyringService.context.getDecodedAddresses();
|
|
416
379
|
if (!addresses.length) {
|
|
417
380
|
return;
|
|
418
381
|
}
|
|
@@ -442,94 +405,12 @@ export default class KoniState {
|
|
|
442
405
|
this.stakingRewardState.ready = ready;
|
|
443
406
|
this.stakingRewardSubject.next(this.stakingRewardState);
|
|
444
407
|
}
|
|
445
|
-
getAccountRefMap(callback) {
|
|
446
|
-
const refMap = {};
|
|
447
|
-
this.accountRefStore.get('refList', refList => {
|
|
448
|
-
if (refList) {
|
|
449
|
-
refList.forEach(accRef => {
|
|
450
|
-
accRef.forEach(acc => {
|
|
451
|
-
refMap[acc] = [...accRef].filter(r => !(r === acc));
|
|
452
|
-
});
|
|
453
|
-
});
|
|
454
|
-
}
|
|
455
|
-
callback(refMap);
|
|
456
|
-
});
|
|
457
|
-
}
|
|
458
|
-
addAccountRef(addresses, callback) {
|
|
459
|
-
this.accountRefStore.get('refList', refList => {
|
|
460
|
-
const newList = refList ? [...refList] : [];
|
|
461
|
-
newList.push(addresses);
|
|
462
|
-
this.accountRefStore.set('refList', newList, callback);
|
|
463
|
-
});
|
|
464
|
-
}
|
|
465
|
-
removeAccountRef(address, callback) {
|
|
466
|
-
this.accountRefStore.get('refList', refList => {
|
|
467
|
-
if (refList) {
|
|
468
|
-
refList.forEach(accRef => {
|
|
469
|
-
if (accRef.indexOf(address) > -1) {
|
|
470
|
-
accRef.splice(accRef.indexOf(address), 1);
|
|
471
|
-
}
|
|
472
|
-
if (accRef.length < 2) {
|
|
473
|
-
refList.splice(refList.indexOf(accRef), 1);
|
|
474
|
-
}
|
|
475
|
-
});
|
|
476
|
-
this.accountRefStore.set('refList', refList, () => {
|
|
477
|
-
callback();
|
|
478
|
-
});
|
|
479
|
-
} else {
|
|
480
|
-
callback();
|
|
481
|
-
}
|
|
482
|
-
});
|
|
483
|
-
}
|
|
484
408
|
getStakingReward(update) {
|
|
485
409
|
update(this.stakingRewardState);
|
|
486
410
|
}
|
|
487
411
|
subscribeStakingReward() {
|
|
488
412
|
return this.stakingRewardSubject;
|
|
489
413
|
}
|
|
490
|
-
setCurrentAccount(data, callback, preventOneAccount) {
|
|
491
|
-
const {
|
|
492
|
-
address,
|
|
493
|
-
currentGenesisHash
|
|
494
|
-
} = data;
|
|
495
|
-
const result = {
|
|
496
|
-
...data
|
|
497
|
-
};
|
|
498
|
-
if (address === ALL_ACCOUNT_KEY) {
|
|
499
|
-
const pairs = keyring.getAccounts();
|
|
500
|
-
const pair = pairs[0];
|
|
501
|
-
const pairGenesisHash = (pair === null || pair === void 0 ? void 0 : pair.meta.genesisHash) || '';
|
|
502
|
-
if (pairs.length > 1 || !pair) {
|
|
503
|
-
result.allGenesisHash = currentGenesisHash || undefined;
|
|
504
|
-
} else {
|
|
505
|
-
if (!preventOneAccount) {
|
|
506
|
-
result.address = pair.address;
|
|
507
|
-
result.currentGenesisHash = pairGenesisHash || '';
|
|
508
|
-
result.allGenesisHash = pairGenesisHash || undefined;
|
|
509
|
-
} else {
|
|
510
|
-
result.allGenesisHash = currentGenesisHash || undefined;
|
|
511
|
-
}
|
|
512
|
-
}
|
|
513
|
-
}
|
|
514
|
-
this.keyringService.setCurrentAccount(result);
|
|
515
|
-
callback && callback();
|
|
516
|
-
}
|
|
517
|
-
setAccountTie(address, genesisHash) {
|
|
518
|
-
if (address !== ALL_ACCOUNT_KEY) {
|
|
519
|
-
const pair = keyring.getPair(address);
|
|
520
|
-
assert(pair, t('Unable to find account'));
|
|
521
|
-
keyring.saveAccountMeta(pair, {
|
|
522
|
-
...pair.meta,
|
|
523
|
-
genesisHash
|
|
524
|
-
});
|
|
525
|
-
}
|
|
526
|
-
const accountInfo = this.keyringService.currentAccount;
|
|
527
|
-
if (address === accountInfo.address) {
|
|
528
|
-
accountInfo.currentGenesisHash = genesisHash || ALL_GENESIS_HASH;
|
|
529
|
-
this.setCurrentAccount(accountInfo);
|
|
530
|
-
}
|
|
531
|
-
return true;
|
|
532
|
-
}
|
|
533
414
|
async switchEvmNetworkByUrl(shortenUrl, networkKey) {
|
|
534
415
|
const authUrls = await this.getAuthList();
|
|
535
416
|
const chainInfo = this.chainService.getChainInfoByKey(networkKey);
|
|
@@ -622,29 +503,6 @@ export default class KoniState {
|
|
|
622
503
|
subscribeSettingsSubject() {
|
|
623
504
|
return this.settingService.getSubject();
|
|
624
505
|
}
|
|
625
|
-
getAccountAddress() {
|
|
626
|
-
const address = this.keyringService.currentAccount.address;
|
|
627
|
-
if (address === '') {
|
|
628
|
-
return null;
|
|
629
|
-
}
|
|
630
|
-
return address;
|
|
631
|
-
}
|
|
632
|
-
getDecodedAddresses(address) {
|
|
633
|
-
let checkingAddress = address;
|
|
634
|
-
if (!address) {
|
|
635
|
-
checkingAddress = this.getAccountAddress();
|
|
636
|
-
}
|
|
637
|
-
if (!checkingAddress) {
|
|
638
|
-
return [];
|
|
639
|
-
}
|
|
640
|
-
if (checkingAddress === ALL_ACCOUNT_KEY) {
|
|
641
|
-
return this.getAllAddresses();
|
|
642
|
-
}
|
|
643
|
-
return [checkingAddress];
|
|
644
|
-
}
|
|
645
|
-
getAllAddresses() {
|
|
646
|
-
return keyring.getAccounts().map(account => account.address);
|
|
647
|
-
}
|
|
648
506
|
async resetCrowdloanMap(newAddress) {
|
|
649
507
|
const defaultData = generateDefaultCrowdloanMap();
|
|
650
508
|
const storedData = await this.getStoredCrowdloan(newAddress);
|
|
@@ -658,7 +516,7 @@ export default class KoniState {
|
|
|
658
516
|
this.getStaking().then(data => {
|
|
659
517
|
this.stakingSubject.next(data);
|
|
660
518
|
}).catch(e => this.logger.warn(e));
|
|
661
|
-
const addresses = this.getDecodedAddresses(newAddress);
|
|
519
|
+
const addresses = this.keyringService.context.getDecodedAddresses(newAddress);
|
|
662
520
|
this.dbService.subscribeStaking(addresses, this.activeChainSlugs, stakings => {
|
|
663
521
|
this.stakingSubject.next({
|
|
664
522
|
ready: true,
|
|
@@ -690,8 +548,8 @@ export default class KoniState {
|
|
|
690
548
|
});
|
|
691
549
|
}
|
|
692
550
|
updateCrowdloanStore(networkKey, item) {
|
|
693
|
-
const currentAccountInfo = this.keyringService.currentAccount;
|
|
694
|
-
this.dbService.updateCrowdloanStore(networkKey, currentAccountInfo.
|
|
551
|
+
const currentAccountInfo = this.keyringService.context.currentAccount;
|
|
552
|
+
this.dbService.updateCrowdloanStore(networkKey, currentAccountInfo.proxyId, item).catch(e => this.logger.warn(e));
|
|
695
553
|
}
|
|
696
554
|
subscribeCrowdloan() {
|
|
697
555
|
return this.crowdloanSubject;
|
|
@@ -846,6 +704,12 @@ export default class KoniState {
|
|
|
846
704
|
getEvmApi(networkKey) {
|
|
847
705
|
return this.chainService.getEvmApi(networkKey);
|
|
848
706
|
}
|
|
707
|
+
getTonApiMap() {
|
|
708
|
+
return this.chainService.getTonApiMap();
|
|
709
|
+
}
|
|
710
|
+
getTonApi(networkKey) {
|
|
711
|
+
return this.chainService.getTonApi(networkKey);
|
|
712
|
+
}
|
|
849
713
|
getApiMap() {
|
|
850
714
|
return {
|
|
851
715
|
substrate: this.chainService.getSubstrateApiMap(),
|
|
@@ -863,7 +727,7 @@ export default class KoniState {
|
|
|
863
727
|
return {
|
|
864
728
|
chainInfoMap: this.chainService.getChainInfoMap(),
|
|
865
729
|
chainApiMap: this.getApiMap(),
|
|
866
|
-
currentAccountInfo: this.keyringService.currentAccount,
|
|
730
|
+
currentAccountInfo: this.keyringService.context.currentAccount,
|
|
867
731
|
assetRegistry: this.chainService.getAssetRegistry(),
|
|
868
732
|
chainStateMap: this.chainService.getChainStateMap()
|
|
869
733
|
};
|
|
@@ -970,75 +834,11 @@ export default class KoniState {
|
|
|
970
834
|
}
|
|
971
835
|
return Object.values(_PREDEFINED_SINGLE_MODES).find(item => item.networkKeys.includes(networkKey));
|
|
972
836
|
}
|
|
973
|
-
accountExportPrivateKey({
|
|
974
|
-
|
|
975
|
-
password
|
|
976
|
-
}) {
|
|
977
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
978
|
-
const exportedJson = keyring.backupAccount(keyring.getPair(address), password);
|
|
979
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
980
|
-
const decoded = decodePair(password, base64Decode(exportedJson.encoded), exportedJson.encoding.type);
|
|
981
|
-
return {
|
|
982
|
-
privateKey: u8aToHex(decoded.secretKey),
|
|
983
|
-
publicKey: u8aToHex(decoded.publicKey)
|
|
984
|
-
};
|
|
837
|
+
accountExportPrivateKey(request) {
|
|
838
|
+
return this.keyringService.context.accountExportPrivateKey(request);
|
|
985
839
|
}
|
|
986
|
-
checkPublicAndSecretKey({
|
|
987
|
-
|
|
988
|
-
secretKey
|
|
989
|
-
}) {
|
|
990
|
-
try {
|
|
991
|
-
const _secret = hexStripPrefix(secretKey);
|
|
992
|
-
if (_secret.length === 64) {
|
|
993
|
-
const suri = `0x${_secret}`;
|
|
994
|
-
const {
|
|
995
|
-
phrase
|
|
996
|
-
} = keyExtractSuri(suri);
|
|
997
|
-
if (isHex(phrase) && isHex(phrase, 256)) {
|
|
998
|
-
const type = 'ethereum';
|
|
999
|
-
const address = keyring.createFromUri(getSuri(suri, type), {}, type).address;
|
|
1000
|
-
return {
|
|
1001
|
-
address: address,
|
|
1002
|
-
isValid: true,
|
|
1003
|
-
isEthereum: true
|
|
1004
|
-
};
|
|
1005
|
-
} else {
|
|
1006
|
-
return {
|
|
1007
|
-
address: '',
|
|
1008
|
-
isValid: false,
|
|
1009
|
-
isEthereum: true
|
|
1010
|
-
};
|
|
1011
|
-
}
|
|
1012
|
-
}
|
|
1013
|
-
const keyPair = keyring.keyring.addFromPair({
|
|
1014
|
-
publicKey: hexToU8a(publicKey),
|
|
1015
|
-
secretKey: hexToU8a(secretKey)
|
|
1016
|
-
});
|
|
1017
|
-
return {
|
|
1018
|
-
address: keyPair.address,
|
|
1019
|
-
isValid: true,
|
|
1020
|
-
isEthereum: false
|
|
1021
|
-
};
|
|
1022
|
-
} catch (e) {
|
|
1023
|
-
console.error(e);
|
|
1024
|
-
return {
|
|
1025
|
-
address: '',
|
|
1026
|
-
isValid: false,
|
|
1027
|
-
isEthereum: false
|
|
1028
|
-
};
|
|
1029
|
-
}
|
|
1030
|
-
}
|
|
1031
|
-
getEthKeyring(address, password) {
|
|
1032
|
-
return new Promise(resolve => {
|
|
1033
|
-
const {
|
|
1034
|
-
privateKey
|
|
1035
|
-
} = this.accountExportPrivateKey({
|
|
1036
|
-
address,
|
|
1037
|
-
password: password
|
|
1038
|
-
});
|
|
1039
|
-
const ethKeyring = new SimpleKeyring([privateKey]);
|
|
1040
|
-
resolve(ethKeyring);
|
|
1041
|
-
});
|
|
840
|
+
checkPublicAndSecretKey(request) {
|
|
841
|
+
return this.keyringService.context.checkPublicAndSecretKey(request);
|
|
1042
842
|
}
|
|
1043
843
|
async evmSign(id, url, method, params, topic) {
|
|
1044
844
|
let address = '';
|
|
@@ -1193,9 +993,15 @@ export default class KoniState {
|
|
|
1193
993
|
getConfirmationsQueueSubject() {
|
|
1194
994
|
return this.requestService.confirmationsQueueSubject;
|
|
1195
995
|
}
|
|
996
|
+
getConfirmationsQueueSubjectTon() {
|
|
997
|
+
return this.requestService.confirmationsQueueSubjectTon;
|
|
998
|
+
}
|
|
1196
999
|
async completeConfirmation(request) {
|
|
1197
1000
|
return await this.requestService.completeConfirmation(request);
|
|
1198
1001
|
}
|
|
1002
|
+
async completeConfirmationTon(request) {
|
|
1003
|
+
return await this.requestService.completeConfirmationTon(request);
|
|
1004
|
+
}
|
|
1199
1005
|
async onMV3Update() {
|
|
1200
1006
|
const migrationStatus = await SWStorage.instance.getItem('mv3_migration');
|
|
1201
1007
|
if (!migrationStatus || migrationStatus !== 'done') {
|
|
@@ -1210,6 +1016,18 @@ export default class KoniState {
|
|
|
1210
1016
|
}
|
|
1211
1017
|
}
|
|
1212
1018
|
}
|
|
1019
|
+
async storePreviousVersionData(details) {
|
|
1020
|
+
if (details.reason === 'update') {
|
|
1021
|
+
const previousVersion = details.previousVersion;
|
|
1022
|
+
if (!previousVersion) {
|
|
1023
|
+
return;
|
|
1024
|
+
}
|
|
1025
|
+
const storedData = await SWStorage.instance.getItem('previous_version');
|
|
1026
|
+
if (!storedData || !storedData.includes(previousVersion)) {
|
|
1027
|
+
await SWStorage.instance.setItem('previous_version', previousVersion);
|
|
1028
|
+
}
|
|
1029
|
+
}
|
|
1030
|
+
}
|
|
1213
1031
|
async migrateMV3LocalStorage(data) {
|
|
1214
1032
|
try {
|
|
1215
1033
|
const parsedData = JSON.parse(data);
|
|
@@ -1240,13 +1058,14 @@ export default class KoniState {
|
|
|
1240
1058
|
this.onMV3Install().catch(console.error);
|
|
1241
1059
|
} else if (details.reason === 'update') {
|
|
1242
1060
|
this.onMV3Update().catch(console.error);
|
|
1061
|
+
this.storePreviousVersionData(details).catch(console.error);
|
|
1243
1062
|
}
|
|
1244
1063
|
}
|
|
1245
1064
|
async onHandleRemindExportAccount() {
|
|
1246
1065
|
const remindStatus = await SWStorage.instance.getItem(REMIND_EXPORT_ACCOUNT);
|
|
1247
1066
|
if (!remindStatus || !remindStatus.includes('done')) {
|
|
1248
1067
|
const handleRemind = account => {
|
|
1249
|
-
if (account.
|
|
1068
|
+
if (account.proxyId !== '') {
|
|
1250
1069
|
// Open remind tab
|
|
1251
1070
|
const url = `${chrome.runtime.getURL('index.html')}#/remind-export-account`;
|
|
1252
1071
|
openPopup(url).then(noop).catch(console.error).finally(() => subscription.unsubscribe());
|
|
@@ -1256,7 +1075,7 @@ export default class KoniState {
|
|
|
1256
1075
|
}, 3000);
|
|
1257
1076
|
}
|
|
1258
1077
|
};
|
|
1259
|
-
const subscription = this.keyringService.
|
|
1078
|
+
const subscription = this.keyringService.context.observable.currentAccount.subscribe(handleRemind);
|
|
1260
1079
|
}
|
|
1261
1080
|
}
|
|
1262
1081
|
async setStorageFromWS({
|
|
@@ -1272,6 +1091,14 @@ export default class KoniState {
|
|
|
1272
1091
|
return false;
|
|
1273
1092
|
}
|
|
1274
1093
|
}
|
|
1094
|
+
async getStorageFromWS(key) {
|
|
1095
|
+
try {
|
|
1096
|
+
return await SWStorage.instance.getItem(key);
|
|
1097
|
+
} catch (e) {
|
|
1098
|
+
console.error(e);
|
|
1099
|
+
return null;
|
|
1100
|
+
}
|
|
1101
|
+
}
|
|
1275
1102
|
onCheckToRemindUser() {
|
|
1276
1103
|
this.onHandleRemindExportAccount().catch(console.error);
|
|
1277
1104
|
}
|
|
@@ -1440,7 +1267,7 @@ export default class KoniState {
|
|
|
1440
1267
|
});
|
|
1441
1268
|
}
|
|
1442
1269
|
async reloadNft() {
|
|
1443
|
-
const currentAddress = this.keyringService.currentAccount.
|
|
1270
|
+
const currentAddress = this.keyringService.context.currentAccount.proxyId;
|
|
1444
1271
|
await this.dbService.removeNftsByAddress(currentAddress);
|
|
1445
1272
|
return await this.cron.reloadNft();
|
|
1446
1273
|
}
|
|
@@ -1481,7 +1308,6 @@ export default class KoniState {
|
|
|
1481
1308
|
// await this.handleResetBalance(ALL_ACCOUNT_KEY, true);
|
|
1482
1309
|
await this.earningService.resetWallet();
|
|
1483
1310
|
await this.dbService.resetWallet(resetAll);
|
|
1484
|
-
this.accountRefStore.set('refList', []);
|
|
1485
1311
|
if (resetAll) {
|
|
1486
1312
|
await this.priceService.setPriceCurrency(DEFAULT_CURRENCY);
|
|
1487
1313
|
this.settingService.resetWallet();
|
|
@@ -1601,7 +1427,7 @@ export default class KoniState {
|
|
|
1601
1427
|
subscribeMantaPayBalance() {
|
|
1602
1428
|
var _this$chainService27, _this$chainService27$;
|
|
1603
1429
|
let interval;
|
|
1604
|
-
(_this$chainService27 = this.chainService) === null || _this$chainService27 === void 0 ? void 0 : (_this$chainService27$ = _this$chainService27.mantaPay) === null || _this$chainService27$ === void 0 ? void 0 : _this$chainService27$.getMantaPayConfig(this.keyringService.currentAccount.
|
|
1430
|
+
(_this$chainService27 = this.chainService) === null || _this$chainService27 === void 0 ? void 0 : (_this$chainService27$ = _this$chainService27.mantaPay) === null || _this$chainService27$ === void 0 ? void 0 : _this$chainService27$.getMantaPayConfig(this.keyringService.context.currentAccount.proxyId, _DEFAULT_MANTA_ZK_CHAIN).then(config => {
|
|
1605
1431
|
if (config && config.enabled && config.isInitialSync) {
|
|
1606
1432
|
this.getMantaZkBalance();
|
|
1607
1433
|
interval = setInterval(this.getMantaZkBalance, MANTA_PAY_BALANCE_INTERVAL);
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
/// <reference types="chrome" />
|
|
2
|
-
import { AuthUrlInfo } from '@subwallet/extension-base/background/handlers/State';
|
|
3
2
|
import { RequestAddPspToken } from '@subwallet/extension-base/background/KoniTypes';
|
|
4
3
|
import { MessageTypes, RequestTypes, ResponseTypes } from '@subwallet/extension-base/background/types';
|
|
5
4
|
import KoniState from '@subwallet/extension-base/koni/background/handlers/State';
|
|
6
|
-
import { AuthUrls } from '@subwallet/extension-base/services/request-service/types';
|
|
5
|
+
import { AuthUrlInfo, AuthUrls } from '@subwallet/extension-base/services/request-service/types';
|
|
7
6
|
import { RequestArguments } from 'web3-core';
|
|
8
7
|
export declare const chainPatrolCheckUrl: (url: string) => Promise<boolean>;
|
|
9
8
|
export default class KoniTabs {
|
|
@@ -28,7 +27,7 @@ export default class KoniTabs {
|
|
|
28
27
|
private createUnsubscriptionHandle;
|
|
29
28
|
getAuthInfo(url: string, fromList?: AuthUrls): Promise<AuthUrlInfo | undefined>;
|
|
30
29
|
private accountsListV2;
|
|
31
|
-
private
|
|
30
|
+
private accountsSubstrateSubscribeV2;
|
|
32
31
|
private accountsUnsubscribe;
|
|
33
32
|
private authorizeV2;
|
|
34
33
|
private getEvmCurrentAccount;
|