@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
|
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.default =
|
|
7
|
+
exports.default = void 0;
|
|
8
8
|
exports.isJsonPayload = isJsonPayload;
|
|
9
9
|
var _common = require("@ethereumjs/common");
|
|
10
10
|
var _tx = require("@ethereumjs/tx");
|
|
@@ -26,12 +26,14 @@ var _bonding = require("@subwallet/extension-base/koni/api/staking/bonding");
|
|
|
26
26
|
var _paraChain = require("@subwallet/extension-base/koni/api/staking/bonding/paraChain");
|
|
27
27
|
var _relayChain = require("@subwallet/extension-base/koni/api/staking/bonding/relayChain");
|
|
28
28
|
var _utils2 = require("@subwallet/extension-base/koni/api/yield/helper/utils");
|
|
29
|
+
var _utils3 = require("@subwallet/extension-base/services/balance-service/helpers/subscribe/ton/utils");
|
|
29
30
|
var _smartContract = require("@subwallet/extension-base/services/balance-service/transfer/smart-contract");
|
|
30
31
|
var _token = require("@subwallet/extension-base/services/balance-service/transfer/token");
|
|
32
|
+
var _tonTransfer = require("@subwallet/extension-base/services/balance-service/transfer/ton-transfer");
|
|
31
33
|
var _xcm = require("@subwallet/extension-base/services/balance-service/transfer/xcm");
|
|
32
34
|
var _constants2 = require("@subwallet/extension-base/services/chain-service/constants");
|
|
33
35
|
var _types = require("@subwallet/extension-base/services/chain-service/types");
|
|
34
|
-
var
|
|
36
|
+
var _utils4 = require("@subwallet/extension-base/services/chain-service/utils");
|
|
35
37
|
var _constants3 = require("@subwallet/extension-base/services/request-service/constants");
|
|
36
38
|
var _constants4 = require("@subwallet/extension-base/services/setting-service/constants");
|
|
37
39
|
var _constants5 = require("@subwallet/extension-base/services/wallet-connect-service/constants");
|
|
@@ -39,49 +41,22 @@ var _helpers2 = require("@subwallet/extension-base/services/wallet-connect-servi
|
|
|
39
41
|
var _storage = require("@subwallet/extension-base/storage");
|
|
40
42
|
var _stores = require("@subwallet/extension-base/stores");
|
|
41
43
|
var _types2 = require("@subwallet/extension-base/types");
|
|
42
|
-
var
|
|
44
|
+
var _utils5 = require("@subwallet/extension-base/utils");
|
|
43
45
|
var _parseTransaction2 = require("@subwallet/extension-base/utils/eth/parseTransaction");
|
|
44
46
|
var _extensionChains = require("@subwallet/extension-chains");
|
|
45
47
|
var _keyring = require("@subwallet/keyring");
|
|
48
|
+
var _types3 = require("@subwallet/keyring/types");
|
|
46
49
|
var _uiKeyring = require("@subwallet/ui-keyring");
|
|
47
|
-
var
|
|
50
|
+
var _utils6 = require("@walletconnect/utils");
|
|
48
51
|
var _bignumber = _interopRequireDefault(require("bignumber.js"));
|
|
49
52
|
var _i18next = require("i18next");
|
|
50
53
|
var _rxjs = require("rxjs");
|
|
51
|
-
var
|
|
54
|
+
var _types4 = require("@polkadot/types");
|
|
52
55
|
var _util = require("@polkadot/util");
|
|
53
56
|
var _utilCrypto = require("@polkadot/util-crypto");
|
|
54
57
|
// Copyright 2019-2022 @subwallet/extension-koni authors & contributors
|
|
55
58
|
// SPDX-License-Identifier: Apache-2.0
|
|
56
59
|
|
|
57
|
-
const ETH_DERIVE_DEFAULT = '/m/44\'/60\'/0\'/0/0';
|
|
58
|
-
function getSuri(seed, type) {
|
|
59
|
-
return type === 'ethereum' ? `${seed}${ETH_DERIVE_DEFAULT}` : seed;
|
|
60
|
-
}
|
|
61
|
-
function transformAccounts(accounts) {
|
|
62
|
-
return Object.values(accounts).map(_ref => {
|
|
63
|
-
let {
|
|
64
|
-
json: {
|
|
65
|
-
address,
|
|
66
|
-
meta
|
|
67
|
-
},
|
|
68
|
-
type
|
|
69
|
-
} = _ref;
|
|
70
|
-
return {
|
|
71
|
-
address,
|
|
72
|
-
...meta,
|
|
73
|
-
type
|
|
74
|
-
};
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
const ACCOUNT_ALL_JSON = {
|
|
78
|
-
address: _constants.ALL_ACCOUNT_KEY,
|
|
79
|
-
name: 'All'
|
|
80
|
-
};
|
|
81
|
-
const SEED_DEFAULT_LENGTH = 12;
|
|
82
|
-
exports.SEED_DEFAULT_LENGTH = SEED_DEFAULT_LENGTH;
|
|
83
|
-
const SEED_LENGTHS = [12, 15, 18, 21, 24];
|
|
84
|
-
exports.SEED_LENGTHS = SEED_LENGTHS;
|
|
85
60
|
function isJsonPayload(value) {
|
|
86
61
|
return value.genesisHash !== undefined;
|
|
87
62
|
}
|
|
@@ -92,6 +67,11 @@ class KoniExtension {
|
|
|
92
67
|
#skipAutoLock = false;
|
|
93
68
|
#firstTime = true;
|
|
94
69
|
#alwaysLock = false;
|
|
70
|
+
/**
|
|
71
|
+
* Use for heartbeat.
|
|
72
|
+
* When auto-lock runs, the value changes, and it stops the heartbeat.
|
|
73
|
+
* With MV3, when the lifecycle ends, this extension Object will be destroyed, so #keyringLockSubject will be destroyed too.
|
|
74
|
+
* */
|
|
95
75
|
#keyringLockSubject = new _rxjs.Subject();
|
|
96
76
|
constructor(state) {
|
|
97
77
|
this.#koniState = state;
|
|
@@ -130,132 +110,28 @@ class KoniExtension {
|
|
|
130
110
|
next: updateTimeAutoLock
|
|
131
111
|
});
|
|
132
112
|
}
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
accountsCreateExternal(_ref2) {
|
|
136
|
-
let {
|
|
137
|
-
address,
|
|
138
|
-
genesisHash,
|
|
139
|
-
name
|
|
140
|
-
} = _ref2;
|
|
141
|
-
_uiKeyring.keyring.addExternal(address, {
|
|
142
|
-
genesisHash,
|
|
143
|
-
name
|
|
144
|
-
});
|
|
145
|
-
return true;
|
|
146
|
-
}
|
|
147
|
-
accountsCreateHardware(_ref3) {
|
|
148
|
-
let {
|
|
149
|
-
accountIndex,
|
|
150
|
-
address,
|
|
151
|
-
addressOffset,
|
|
152
|
-
genesisHash,
|
|
153
|
-
hardwareType,
|
|
154
|
-
name
|
|
155
|
-
} = _ref3;
|
|
156
|
-
_uiKeyring.keyring.addHardware(address, hardwareType, {
|
|
157
|
-
accountIndex,
|
|
158
|
-
addressOffset,
|
|
159
|
-
genesisHash,
|
|
160
|
-
name
|
|
161
|
-
});
|
|
162
|
-
return true;
|
|
163
|
-
}
|
|
164
|
-
accountsCreateSuri(_ref4) {
|
|
165
|
-
let {
|
|
166
|
-
genesisHash,
|
|
167
|
-
name,
|
|
168
|
-
suri,
|
|
169
|
-
type
|
|
170
|
-
} = _ref4;
|
|
171
|
-
_uiKeyring.keyring.addUri(getSuri(suri, type), {
|
|
172
|
-
genesisHash,
|
|
173
|
-
name
|
|
174
|
-
}, type);
|
|
175
|
-
return true;
|
|
113
|
+
accountsEdit(request) {
|
|
114
|
+
return this.#koniState.keyringService.context.accountsEdit(request);
|
|
176
115
|
}
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
address,
|
|
180
|
-
newPass,
|
|
181
|
-
oldPass
|
|
182
|
-
} = _ref5;
|
|
183
|
-
const pair = _uiKeyring.keyring.getPair(address);
|
|
184
|
-
(0, _util.assert)(pair, (0, _i18next.t)('Unable to find account'));
|
|
185
|
-
try {
|
|
186
|
-
if (!pair.isLocked) {
|
|
187
|
-
pair.lock();
|
|
188
|
-
}
|
|
189
|
-
pair.decodePkcs8(oldPass);
|
|
190
|
-
} catch (error) {
|
|
191
|
-
throw new Error((0, _i18next.t)('Wrong password'));
|
|
192
|
-
}
|
|
193
|
-
_uiKeyring.keyring.encryptAccount(pair, newPass);
|
|
194
|
-
return true;
|
|
116
|
+
tonGetAllTonWalletContractVersion(request) {
|
|
117
|
+
return this.#koniState.keyringService.context.tonGetAllTonWalletContractVersion(request);
|
|
195
118
|
}
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
address,
|
|
199
|
-
name
|
|
200
|
-
} = _ref6;
|
|
201
|
-
const pair = _uiKeyring.keyring.getPair(address);
|
|
202
|
-
(0, _util.assert)(pair, (0, _i18next.t)('Unable to find account'));
|
|
203
|
-
_uiKeyring.keyring.saveAccountMeta(pair, {
|
|
204
|
-
...pair.meta,
|
|
205
|
-
name
|
|
206
|
-
});
|
|
207
|
-
return true;
|
|
119
|
+
tonAccountChangeWalletContractVersion(request) {
|
|
120
|
+
return this.#koniState.keyringService.context.tonAccountChangeWalletContractVersion(request);
|
|
208
121
|
}
|
|
209
|
-
accountsExport(
|
|
122
|
+
accountsExport(_ref) {
|
|
210
123
|
let {
|
|
211
124
|
address,
|
|
212
125
|
password
|
|
213
|
-
} =
|
|
126
|
+
} = _ref;
|
|
214
127
|
return {
|
|
215
128
|
exportedJson: _uiKeyring.keyring.backupAccount(_uiKeyring.keyring.getPair(address), password)
|
|
216
129
|
};
|
|
217
130
|
}
|
|
218
|
-
|
|
219
|
-
let {
|
|
220
|
-
address,
|
|
221
|
-
isShowing
|
|
222
|
-
} = _ref8;
|
|
223
|
-
const pair = _uiKeyring.keyring.getPair(address);
|
|
224
|
-
(0, _util.assert)(pair, (0, _i18next.t)('Unable to find account'));
|
|
225
|
-
_uiKeyring.keyring.saveAccountMeta(pair, {
|
|
226
|
-
...pair.meta,
|
|
227
|
-
isHidden: !isShowing
|
|
228
|
-
});
|
|
229
|
-
return true;
|
|
230
|
-
}
|
|
231
|
-
accountsValidate(_ref9) {
|
|
232
|
-
let {
|
|
233
|
-
address,
|
|
234
|
-
password
|
|
235
|
-
} = _ref9;
|
|
236
|
-
try {
|
|
237
|
-
_uiKeyring.keyring.backupAccount(_uiKeyring.keyring.getPair(address), password);
|
|
238
|
-
return true;
|
|
239
|
-
} catch (e) {
|
|
240
|
-
return false;
|
|
241
|
-
}
|
|
242
|
-
}
|
|
243
|
-
|
|
244
|
-
// FIXME This looks very much like what we have in Tabs
|
|
245
|
-
accountsSubscribe(id, port) {
|
|
246
|
-
const cb = (0, _subscriptions.createSubscription)(id, port);
|
|
247
|
-
const accountSubject = this.#koniState.keyringService.accountSubject;
|
|
248
|
-
const subscription = accountSubject.subscribe(accounts => cb(transformAccounts(accounts)));
|
|
249
|
-
port.onDisconnect.addListener(() => {
|
|
250
|
-
this.cancelSubscription(id);
|
|
251
|
-
subscription.unsubscribe();
|
|
252
|
-
});
|
|
253
|
-
return true;
|
|
254
|
-
}
|
|
255
|
-
metadataApprove(_ref10) {
|
|
131
|
+
metadataApprove(_ref2) {
|
|
256
132
|
let {
|
|
257
133
|
id
|
|
258
|
-
} =
|
|
134
|
+
} = _ref2;
|
|
259
135
|
const queued = this.#koniState.getMetaRequest(id);
|
|
260
136
|
(0, _util.assert)(queued, (0, _i18next.t)('Unable to proceed. Please try again'));
|
|
261
137
|
const {
|
|
@@ -272,10 +148,10 @@ class KoniExtension {
|
|
|
272
148
|
metadataList() {
|
|
273
149
|
return this.#koniState.knownMetadata;
|
|
274
150
|
}
|
|
275
|
-
metadataReject(
|
|
151
|
+
metadataReject(_ref3) {
|
|
276
152
|
let {
|
|
277
153
|
id
|
|
278
|
-
} =
|
|
154
|
+
} = _ref3;
|
|
279
155
|
const queued = this.#koniState.getMetaRequest(id);
|
|
280
156
|
(0, _util.assert)(queued, (0, _i18next.t)('Unable to proceed. Please try again'));
|
|
281
157
|
const {
|
|
@@ -293,93 +169,14 @@ class KoniExtension {
|
|
|
293
169
|
});
|
|
294
170
|
return this.#koniState.metaSubject.value;
|
|
295
171
|
}
|
|
296
|
-
jsonRestore(_ref12) {
|
|
297
|
-
let {
|
|
298
|
-
file,
|
|
299
|
-
password
|
|
300
|
-
} = _ref12;
|
|
301
|
-
try {
|
|
302
|
-
_uiKeyring.keyring.restoreAccount(file, password, true);
|
|
303
|
-
} catch (error) {
|
|
304
|
-
throw new Error(error.message);
|
|
305
|
-
}
|
|
306
|
-
}
|
|
307
|
-
batchRestore(_ref13) {
|
|
308
|
-
let {
|
|
309
|
-
file,
|
|
310
|
-
password
|
|
311
|
-
} = _ref13;
|
|
312
|
-
try {
|
|
313
|
-
_uiKeyring.keyring.restoreAccounts(file, password);
|
|
314
|
-
} catch (error) {
|
|
315
|
-
throw new Error(error.message);
|
|
316
|
-
}
|
|
317
|
-
}
|
|
318
|
-
jsonGetAccountInfo(json) {
|
|
319
|
-
try {
|
|
320
|
-
const {
|
|
321
|
-
address,
|
|
322
|
-
meta: {
|
|
323
|
-
genesisHash,
|
|
324
|
-
name
|
|
325
|
-
},
|
|
326
|
-
type
|
|
327
|
-
} = _uiKeyring.keyring.createFromJson(json);
|
|
328
|
-
return {
|
|
329
|
-
address,
|
|
330
|
-
genesisHash,
|
|
331
|
-
name,
|
|
332
|
-
type
|
|
333
|
-
};
|
|
334
|
-
} catch (e) {
|
|
335
|
-
console.error(e);
|
|
336
|
-
throw new Error(e.message);
|
|
337
|
-
}
|
|
338
|
-
}
|
|
339
|
-
seedCreate(_ref14) {
|
|
340
|
-
let {
|
|
341
|
-
length = SEED_DEFAULT_LENGTH,
|
|
342
|
-
seed: _seed,
|
|
343
|
-
type
|
|
344
|
-
} = _ref14;
|
|
345
|
-
const seed = _seed || (0, _utilCrypto.mnemonicGenerate)(length);
|
|
346
|
-
return {
|
|
347
|
-
address: _uiKeyring.keyring.createFromUri(getSuri(seed, type), {}, type).address,
|
|
348
|
-
seed
|
|
349
|
-
};
|
|
350
|
-
}
|
|
351
|
-
seedValidate(_ref15) {
|
|
352
|
-
let {
|
|
353
|
-
suri,
|
|
354
|
-
type
|
|
355
|
-
} = _ref15;
|
|
356
|
-
const {
|
|
357
|
-
phrase
|
|
358
|
-
} = (0, _utilCrypto.keyExtractSuri)(suri);
|
|
359
|
-
if ((0, _util.isHex)(phrase)) {
|
|
360
|
-
(0, _util.assert)((0, _util.isHex)(phrase, 256), (0, _i18next.t)('Invalid seed phrase. Please try again.'));
|
|
361
|
-
} else {
|
|
362
|
-
// sadly isHex detects as string, so we need a cast here
|
|
363
|
-
(0, _util.assert)(SEED_LENGTHS.includes(phrase.split(' ').length), (0, _i18next.t)('Seed phrase needs to contain {{x}} words', {
|
|
364
|
-
replace: {
|
|
365
|
-
x: SEED_LENGTHS.join(', ')
|
|
366
|
-
}
|
|
367
|
-
}));
|
|
368
|
-
(0, _util.assert)((0, _utilCrypto.mnemonicValidate)(phrase), (0, _i18next.t)('Invalid seed phrase. Please try again.'));
|
|
369
|
-
}
|
|
370
|
-
return {
|
|
371
|
-
address: _uiKeyring.keyring.createFromUri(getSuri(suri, type), {}, type).address,
|
|
372
|
-
suri
|
|
373
|
-
};
|
|
374
|
-
}
|
|
375
172
|
|
|
376
173
|
// TODO: move to request service
|
|
377
|
-
signingApproveSignature(
|
|
174
|
+
signingApproveSignature(_ref4) {
|
|
378
175
|
let {
|
|
379
176
|
id,
|
|
380
177
|
signature,
|
|
381
178
|
signedTransaction
|
|
382
|
-
} =
|
|
179
|
+
} = _ref4;
|
|
383
180
|
const queued = this.#koniState.getSignRequest(id);
|
|
384
181
|
(0, _util.assert)(queued, (0, _i18next.t)('Unable to proceed. Please try again'));
|
|
385
182
|
const {
|
|
@@ -394,16 +191,16 @@ class KoniExtension {
|
|
|
394
191
|
}
|
|
395
192
|
|
|
396
193
|
// TODO: move to request service
|
|
397
|
-
signingCancel(
|
|
194
|
+
signingCancel(_ref5) {
|
|
398
195
|
let {
|
|
399
196
|
id
|
|
400
|
-
} =
|
|
197
|
+
} = _ref5;
|
|
401
198
|
const queued = this.#koniState.getSignRequest(id);
|
|
402
199
|
(0, _util.assert)(queued, (0, _i18next.t)('Unable to proceed. Please try again'));
|
|
403
200
|
const {
|
|
404
201
|
reject
|
|
405
202
|
} = queued;
|
|
406
|
-
reject(new _TransactionError.TransactionError(
|
|
203
|
+
reject(new _TransactionError.TransactionError(_types2.BasicTxErrorType.USER_REJECT_REQUEST));
|
|
407
204
|
return true;
|
|
408
205
|
}
|
|
409
206
|
|
|
@@ -417,12 +214,12 @@ class KoniExtension {
|
|
|
417
214
|
});
|
|
418
215
|
return this.#koniState.signSubject.value;
|
|
419
216
|
}
|
|
420
|
-
windowOpen(
|
|
217
|
+
windowOpen(_ref6) {
|
|
421
218
|
let {
|
|
422
219
|
allowedPath: path,
|
|
423
220
|
params,
|
|
424
221
|
subPath
|
|
425
|
-
} =
|
|
222
|
+
} = _ref6;
|
|
426
223
|
let paramString = '';
|
|
427
224
|
if (params) {
|
|
428
225
|
paramString += '?';
|
|
@@ -444,52 +241,6 @@ class KoniExtension {
|
|
|
444
241
|
}));
|
|
445
242
|
return true;
|
|
446
243
|
}
|
|
447
|
-
derive(parentAddress, suri, password, metadata) {
|
|
448
|
-
const parentPair = _uiKeyring.keyring.getPair(parentAddress);
|
|
449
|
-
try {
|
|
450
|
-
parentPair.decodePkcs8(password);
|
|
451
|
-
} catch (e) {
|
|
452
|
-
throw new Error((0, _i18next.t)('Wrong password'));
|
|
453
|
-
}
|
|
454
|
-
try {
|
|
455
|
-
return parentPair.derive(suri, metadata);
|
|
456
|
-
} catch (err) {
|
|
457
|
-
throw new Error((0, _i18next.t)('"{{suri}}" is not a valid derivation path', {
|
|
458
|
-
replace: {
|
|
459
|
-
suri
|
|
460
|
-
}
|
|
461
|
-
}));
|
|
462
|
-
}
|
|
463
|
-
}
|
|
464
|
-
derivationValidate(_ref19) {
|
|
465
|
-
let {
|
|
466
|
-
parentAddress,
|
|
467
|
-
parentPassword,
|
|
468
|
-
suri
|
|
469
|
-
} = _ref19;
|
|
470
|
-
const childPair = this.derive(parentAddress, suri, parentPassword, {});
|
|
471
|
-
return {
|
|
472
|
-
address: childPair.address,
|
|
473
|
-
suri
|
|
474
|
-
};
|
|
475
|
-
}
|
|
476
|
-
derivationCreate(_ref20) {
|
|
477
|
-
let {
|
|
478
|
-
genesisHash,
|
|
479
|
-
name,
|
|
480
|
-
parentAddress,
|
|
481
|
-
parentPassword,
|
|
482
|
-
suri
|
|
483
|
-
} = _ref20;
|
|
484
|
-
const childPair = this.derive(parentAddress, suri, parentPassword, {
|
|
485
|
-
genesisHash,
|
|
486
|
-
name,
|
|
487
|
-
parentAddress,
|
|
488
|
-
suri
|
|
489
|
-
});
|
|
490
|
-
_uiKeyring.keyring.addPair(childPair, true);
|
|
491
|
-
return true;
|
|
492
|
-
}
|
|
493
244
|
|
|
494
245
|
///
|
|
495
246
|
|
|
@@ -499,79 +250,103 @@ class KoniExtension {
|
|
|
499
250
|
createUnsubscriptionHandle(id, unsubscribe) {
|
|
500
251
|
this.#koniState.createUnsubscriptionHandle(id, unsubscribe);
|
|
501
252
|
}
|
|
502
|
-
|
|
503
|
-
return
|
|
504
|
-
};
|
|
505
|
-
encodeAddress = (key, ss58Format) => {
|
|
506
|
-
return _uiKeyring.keyring.encodeAddress(key, ss58Format);
|
|
507
|
-
};
|
|
508
|
-
accountExportPrivateKey(_ref21) {
|
|
509
|
-
let {
|
|
510
|
-
address,
|
|
511
|
-
password
|
|
512
|
-
} = _ref21;
|
|
513
|
-
return this.#koniState.accountExportPrivateKey({
|
|
514
|
-
address,
|
|
515
|
-
password
|
|
516
|
-
});
|
|
253
|
+
accountExportPrivateKey(request) {
|
|
254
|
+
return this.#koniState.accountExportPrivateKey(request);
|
|
517
255
|
}
|
|
518
256
|
checkPublicAndSecretKey(request) {
|
|
519
257
|
return this.#koniState.checkPublicAndSecretKey(request);
|
|
520
258
|
}
|
|
259
|
+
checkNameExists(request) {
|
|
260
|
+
return this.#koniState.keyringService.context.checkNameExists(request);
|
|
261
|
+
}
|
|
521
262
|
async accountsGetAllWithCurrentAddress(id, port) {
|
|
522
263
|
const cb = (0, _subscriptions.createSubscription)(id, port);
|
|
523
264
|
const keyringService = this.#koniState.keyringService;
|
|
524
265
|
await this.#koniState.eventService.waitAccountReady;
|
|
525
266
|
await this.#koniState.eventService.waitInjectReady;
|
|
526
|
-
const currentAccount = keyringService.currentAccount;
|
|
527
|
-
const
|
|
267
|
+
const currentAccount = keyringService.context.currentAccount;
|
|
268
|
+
const accounts = keyringService.context.accounts;
|
|
269
|
+
const transformedAccounts = Object.values(accounts);
|
|
528
270
|
const responseData = {
|
|
529
|
-
accounts: transformedAccounts !== null && transformedAccounts !== void 0 && transformedAccounts.length ? [
|
|
530
|
-
|
|
531
|
-
}, ...transformedAccounts] : [],
|
|
532
|
-
currentAddress: currentAccount === null || currentAccount === void 0 ? void 0 : currentAccount.address,
|
|
533
|
-
currentGenesisHash: currentAccount === null || currentAccount === void 0 ? void 0 : currentAccount.currentGenesisHash
|
|
271
|
+
accounts: transformedAccounts !== null && transformedAccounts !== void 0 && transformedAccounts.length ? [(0, _utils5.combineAllAccountProxy)(transformedAccounts), ...transformedAccounts] : [],
|
|
272
|
+
currentAccountProxy: currentAccount === null || currentAccount === void 0 ? void 0 : currentAccount.proxyId
|
|
534
273
|
};
|
|
535
|
-
const
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
274
|
+
const accountProxyMapObservable = keyringService.context.observable.accounts;
|
|
275
|
+
const currentAccountInfoObservable = keyringService.context.observable.currentAccount;
|
|
276
|
+
const subscriptionAccountGroups = (0, _rxjs.combineLatest)({
|
|
277
|
+
accountProxies: accountProxyMapObservable,
|
|
278
|
+
currentAccount: currentAccountInfoObservable
|
|
279
|
+
}).subscribe(_ref7 => {
|
|
280
|
+
let {
|
|
281
|
+
accountProxies,
|
|
282
|
+
currentAccount
|
|
283
|
+
} = _ref7;
|
|
284
|
+
const transformedAccounts = Object.values(accountProxies);
|
|
285
|
+
responseData.accounts = transformedAccounts !== null && transformedAccounts !== void 0 && transformedAccounts.length ? [(0, _utils5.combineAllAccountProxy)(transformedAccounts), ...transformedAccounts] : [];
|
|
286
|
+
responseData.currentAccountProxy = currentAccount === null || currentAccount === void 0 ? void 0 : currentAccount.proxyId;
|
|
287
|
+
console.debug('subscriptionAccountGroups', responseData);
|
|
545
288
|
cb(responseData);
|
|
546
289
|
});
|
|
547
290
|
this.createUnsubscriptionHandle(id, () => {
|
|
548
|
-
|
|
549
|
-
subscriptionCurrentAccount.unsubscribe();
|
|
291
|
+
subscriptionAccountGroups.unsubscribe();
|
|
550
292
|
});
|
|
551
293
|
port.onDisconnect.addListener(() => {
|
|
552
294
|
this.cancelSubscription(id);
|
|
553
295
|
});
|
|
554
296
|
return responseData;
|
|
555
297
|
}
|
|
556
|
-
|
|
298
|
+
async subscribeInputAddressData(request, id, port) {
|
|
299
|
+
const {
|
|
300
|
+
chain,
|
|
301
|
+
data
|
|
302
|
+
} = request;
|
|
557
303
|
const cb = (0, _subscriptions.createSubscription)(id, port);
|
|
558
|
-
const
|
|
559
|
-
const
|
|
560
|
-
|
|
304
|
+
const combineFunction = async (chainInfoMap, accountProxyMap, _contacts) => {
|
|
305
|
+
const accountProxies = Object.values(accountProxyMap);
|
|
306
|
+
const contacts = (0, _utils5.transformAddresses)(_contacts);
|
|
307
|
+
const chainInfo = chainInfoMap[chain];
|
|
308
|
+
const substrateApi = this.#koniState.chainService.getSubstrateApi(chain);
|
|
309
|
+
const rs = await (0, _utils5._analyzeAddress)(data, accountProxies, contacts, chainInfo, substrateApi);
|
|
310
|
+
return {
|
|
311
|
+
id,
|
|
312
|
+
...rs
|
|
561
313
|
};
|
|
562
|
-
|
|
314
|
+
};
|
|
315
|
+
const accountObservable = this.#koniState.keyringService.context.observable.accounts;
|
|
316
|
+
const contactObservable = this.#koniState.keyringService.context.observable.contacts;
|
|
317
|
+
const chainInfoMapObservable = this.#koniState.chainService.subscribeChainInfoMap().asObservable();
|
|
318
|
+
const subscription = (0, _rxjs.combineLatest)({
|
|
319
|
+
chainInfoMap: chainInfoMapObservable,
|
|
320
|
+
accountProxies: accountObservable,
|
|
321
|
+
contacts: contactObservable
|
|
322
|
+
}).subscribe(_ref8 => {
|
|
323
|
+
let {
|
|
324
|
+
accountProxies,
|
|
325
|
+
chainInfoMap,
|
|
326
|
+
contacts
|
|
327
|
+
} = _ref8;
|
|
328
|
+
combineFunction(chainInfoMap, accountProxies, contacts).then(rs => cb(rs)).catch(console.error);
|
|
329
|
+
});
|
|
330
|
+
this.createUnsubscriptionHandle(id, () => {
|
|
331
|
+
subscription.unsubscribe();
|
|
563
332
|
});
|
|
564
|
-
this.createUnsubscriptionHandle(id, subscription.unsubscribe);
|
|
565
333
|
port.onDisconnect.addListener(() => {
|
|
566
334
|
this.cancelSubscription(id);
|
|
567
335
|
});
|
|
568
|
-
|
|
336
|
+
const accountProxyMap = this.#koniState.keyringService.context.value.accounts;
|
|
337
|
+
const contacts = this.#koniState.keyringService.context.value.contacts;
|
|
338
|
+
const chainInfoMap = this.#koniState.chainService.getChainInfoMap();
|
|
339
|
+
return combineFunction(chainInfoMap, accountProxyMap, contacts);
|
|
569
340
|
}
|
|
341
|
+
|
|
342
|
+
/**
|
|
343
|
+
* @todo: move to keyring context
|
|
344
|
+
* */
|
|
570
345
|
subscribeAddresses(id, port) {
|
|
571
346
|
const _cb = (0, _subscriptions.createSubscription)(id, port);
|
|
572
347
|
let old = '';
|
|
573
|
-
const subscription = this.#koniState.keyringService.
|
|
574
|
-
const addresses = (0,
|
|
348
|
+
const subscription = this.#koniState.keyringService.context.observable.contacts.subscribe(subjectInfo => {
|
|
349
|
+
const addresses = (0, _utils5.transformAddresses)(subjectInfo);
|
|
575
350
|
const _new = JSON.stringify(addresses);
|
|
576
351
|
if (old !== _new) {
|
|
577
352
|
_cb({
|
|
@@ -580,22 +355,28 @@ class KoniExtension {
|
|
|
580
355
|
old = _new;
|
|
581
356
|
}
|
|
582
357
|
});
|
|
583
|
-
this.createUnsubscriptionHandle(id,
|
|
358
|
+
this.createUnsubscriptionHandle(id, () => {
|
|
359
|
+
subscription.unsubscribe();
|
|
360
|
+
});
|
|
584
361
|
port.onDisconnect.addListener(() => {
|
|
585
362
|
this.cancelSubscription(id);
|
|
586
363
|
});
|
|
587
|
-
const subjectInfo = this.#koniState.keyringService.
|
|
364
|
+
const subjectInfo = this.#koniState.keyringService.context.contacts;
|
|
588
365
|
return {
|
|
589
|
-
addresses: (0,
|
|
366
|
+
addresses: (0, _utils5.transformAccounts)(subjectInfo)
|
|
590
367
|
};
|
|
591
368
|
}
|
|
592
|
-
|
|
369
|
+
|
|
370
|
+
/**
|
|
371
|
+
* @todo: move to keyring context
|
|
372
|
+
* */
|
|
373
|
+
saveRecentAccount(_ref9) {
|
|
593
374
|
let {
|
|
594
375
|
accountId,
|
|
595
376
|
chain
|
|
596
|
-
} =
|
|
597
|
-
if ((0,
|
|
598
|
-
const address = (0,
|
|
377
|
+
} = _ref9;
|
|
378
|
+
if ((0, _keyring.isAddress)(accountId)) {
|
|
379
|
+
const address = (0, _utils5.reformatAddress)(accountId);
|
|
599
380
|
const account = _uiKeyring.keyring.getAccount(address);
|
|
600
381
|
const contact = _uiKeyring.keyring.getAddress(address, 'address');
|
|
601
382
|
if (account) {
|
|
@@ -618,7 +399,7 @@ class KoniExtension {
|
|
|
618
399
|
}
|
|
619
400
|
}
|
|
620
401
|
metadata.recentChainSlugs = recentChainSlugs;
|
|
621
|
-
const result = _uiKeyring.keyring.addresses.add(new _stores.AccountsStore(), address, {
|
|
402
|
+
const result = _uiKeyring.keyring.addresses.add(new _stores.AccountsStore(), address, address, {
|
|
622
403
|
address: address,
|
|
623
404
|
meta: metadata
|
|
624
405
|
});
|
|
@@ -631,25 +412,33 @@ class KoniExtension {
|
|
|
631
412
|
throw Error((0, _i18next.t)('This is not an address'));
|
|
632
413
|
}
|
|
633
414
|
}
|
|
634
|
-
|
|
415
|
+
|
|
416
|
+
/**
|
|
417
|
+
* @todo: move to keyring context
|
|
418
|
+
* */
|
|
419
|
+
editContactAccount(_ref10) {
|
|
635
420
|
let {
|
|
636
421
|
address,
|
|
637
422
|
meta
|
|
638
|
-
} =
|
|
639
|
-
if ((0,
|
|
640
|
-
const _address = (0,
|
|
423
|
+
} = _ref10;
|
|
424
|
+
if ((0, _keyring.isAddress)(address)) {
|
|
425
|
+
const _address = (0, _utils5.reformatAddress)(address);
|
|
641
426
|
_uiKeyring.keyring.saveAddress(_address, meta);
|
|
642
427
|
return true;
|
|
643
428
|
} else {
|
|
644
429
|
throw Error((0, _i18next.t)('This is not an address'));
|
|
645
430
|
}
|
|
646
431
|
}
|
|
647
|
-
|
|
432
|
+
|
|
433
|
+
/**
|
|
434
|
+
* @todo: move to keyring context
|
|
435
|
+
* */
|
|
436
|
+
deleteContactAccount(_ref11) {
|
|
648
437
|
let {
|
|
649
438
|
address
|
|
650
|
-
} =
|
|
651
|
-
if ((0,
|
|
652
|
-
const _address = (0,
|
|
439
|
+
} = _ref11;
|
|
440
|
+
if ((0, _keyring.isAddress)(address)) {
|
|
441
|
+
const _address = (0, _utils5.reformatAddress)(address);
|
|
653
442
|
_uiKeyring.keyring.forgetAddress(_address);
|
|
654
443
|
return true;
|
|
655
444
|
} else {
|
|
@@ -660,7 +449,7 @@ class KoniExtension {
|
|
|
660
449
|
const keyringService = this.#koniState.keyringService;
|
|
661
450
|
return new Promise((resolve, reject) => {
|
|
662
451
|
this.#koniState.getAuthorize(rs => {
|
|
663
|
-
const addressList = Object.keys(keyringService.
|
|
452
|
+
const addressList = Object.keys(keyringService.context.pairs);
|
|
664
453
|
const urlList = Object.keys(rs);
|
|
665
454
|
if (Object.keys(rs[urlList[0]].isAllowedMap).toString() !== addressList.toString()) {
|
|
666
455
|
urlList.forEach(url => {
|
|
@@ -696,11 +485,11 @@ class KoniExtension {
|
|
|
696
485
|
list: authList
|
|
697
486
|
};
|
|
698
487
|
}
|
|
699
|
-
authorizeApproveV2(
|
|
488
|
+
authorizeApproveV2(_ref12) {
|
|
700
489
|
let {
|
|
701
490
|
accounts,
|
|
702
491
|
id
|
|
703
|
-
} =
|
|
492
|
+
} = _ref12;
|
|
704
493
|
const queued = this.#koniState.getAuthRequestV2(id);
|
|
705
494
|
(0, _util.assert)(queued, (0, _i18next.t)('Unable to proceed. Please try again'));
|
|
706
495
|
const {
|
|
@@ -712,10 +501,10 @@ class KoniExtension {
|
|
|
712
501
|
});
|
|
713
502
|
return true;
|
|
714
503
|
}
|
|
715
|
-
authorizeRejectV2(
|
|
504
|
+
authorizeRejectV2(_ref13) {
|
|
716
505
|
let {
|
|
717
506
|
id
|
|
718
|
-
} =
|
|
507
|
+
} = _ref13;
|
|
719
508
|
const queued = this.#koniState.getAuthRequestV2(id);
|
|
720
509
|
(0, _util.assert)(queued, (0, _i18next.t)('Unable to proceed. Please try again'));
|
|
721
510
|
const {
|
|
@@ -724,10 +513,10 @@ class KoniExtension {
|
|
|
724
513
|
reject(new Error('Rejected'));
|
|
725
514
|
return true;
|
|
726
515
|
}
|
|
727
|
-
authorizeCancelV2(
|
|
516
|
+
authorizeCancelV2(_ref14) {
|
|
728
517
|
let {
|
|
729
518
|
id
|
|
730
|
-
} =
|
|
519
|
+
} = _ref14;
|
|
731
520
|
const queued = this.#koniState.getAuthRequestV2(id);
|
|
732
521
|
(0, _util.assert)(queued, (0, _i18next.t)('Unable to proceed. Please try again'));
|
|
733
522
|
const {
|
|
@@ -776,37 +565,61 @@ class KoniExtension {
|
|
|
776
565
|
});
|
|
777
566
|
return true;
|
|
778
567
|
}
|
|
779
|
-
|
|
780
|
-
const storedAccounts = this.#koniState.keyringService.
|
|
781
|
-
|
|
782
|
-
return transformedAccounts.map(a => a.address);
|
|
568
|
+
getPairs() {
|
|
569
|
+
const storedAccounts = this.#koniState.keyringService.context.pairs;
|
|
570
|
+
return (0, _utils5.transformAccounts)(storedAccounts);
|
|
783
571
|
}
|
|
784
|
-
isAddressValidWithAuthType(address,
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
572
|
+
isAddressValidWithAuthType(address, accountAuthTypes) {
|
|
573
|
+
const type = (0, _keyring.getKeypairTypeByAddress)(address);
|
|
574
|
+
const validTypes = {
|
|
575
|
+
evm: _types3.EthereumKeypairTypes,
|
|
576
|
+
substrate: _types3.SubstrateKeypairTypes,
|
|
577
|
+
ton: _types3.TonKeypairTypes
|
|
578
|
+
};
|
|
579
|
+
return !!accountAuthTypes && accountAuthTypes.some(authType => {
|
|
580
|
+
var _validTypes$authType;
|
|
581
|
+
return (_validTypes$authType = validTypes[authType]) === null || _validTypes$authType === void 0 ? void 0 : _validTypes$authType.includes(type);
|
|
582
|
+
});
|
|
791
583
|
}
|
|
792
|
-
filterAccountsByAccountAuthType(accounts,
|
|
793
|
-
if (
|
|
794
|
-
return
|
|
795
|
-
} else if (accountAuthType === 'evm') {
|
|
796
|
-
return accounts.filter(address => (0, _utilCrypto.isEthereumAddress)(address));
|
|
797
|
-
} else {
|
|
798
|
-
return accounts;
|
|
584
|
+
filterAccountsByAccountAuthType(accounts, accountAuthTypes) {
|
|
585
|
+
if (!accountAuthTypes) {
|
|
586
|
+
return [];
|
|
799
587
|
}
|
|
588
|
+
return accountAuthTypes.reduce((list, accountAuthType) => {
|
|
589
|
+
if (accountAuthType === 'evm') {
|
|
590
|
+
accounts.forEach(_ref15 => {
|
|
591
|
+
let {
|
|
592
|
+
address
|
|
593
|
+
} = _ref15;
|
|
594
|
+
return (0, _utilCrypto.isEthereumAddress)(address) && list.push(address);
|
|
595
|
+
});
|
|
596
|
+
} else if (accountAuthType === 'substrate') {
|
|
597
|
+
accounts.forEach(_ref16 => {
|
|
598
|
+
let {
|
|
599
|
+
address
|
|
600
|
+
} = _ref16;
|
|
601
|
+
return (0, _keyring.isSubstrateAddress)(address) && list.push(address);
|
|
602
|
+
});
|
|
603
|
+
} else if (accountAuthType === 'ton') {
|
|
604
|
+
accounts.forEach(_ref17 => {
|
|
605
|
+
let {
|
|
606
|
+
address
|
|
607
|
+
} = _ref17;
|
|
608
|
+
return (0, _keyring.isTonAddress)(address) && list.push(address);
|
|
609
|
+
});
|
|
610
|
+
}
|
|
611
|
+
return list;
|
|
612
|
+
}, []);
|
|
800
613
|
}
|
|
801
614
|
_changeAuthorizationAll(connectValue, callBack) {
|
|
802
615
|
this.#koniState.getAuthorize(value => {
|
|
803
616
|
(0, _util.assert)(value, 'The source is not known');
|
|
804
|
-
const
|
|
617
|
+
const pairs = this.getPairs();
|
|
805
618
|
Object.keys(value).forEach(url => {
|
|
806
619
|
if (!value[url].isAllowed) {
|
|
807
620
|
return;
|
|
808
621
|
}
|
|
809
|
-
const targetAccounts = this.filterAccountsByAccountAuthType(
|
|
622
|
+
const targetAccounts = this.filterAccountsByAccountAuthType(pairs, value[url].accountAuthTypes);
|
|
810
623
|
targetAccounts.forEach(address => {
|
|
811
624
|
value[url].isAllowedMap[address] = connectValue;
|
|
812
625
|
});
|
|
@@ -829,8 +642,8 @@ class KoniExtension {
|
|
|
829
642
|
_changeAuthorization(url, connectValue, callBack) {
|
|
830
643
|
this.#koniState.getAuthorize(value => {
|
|
831
644
|
(0, _util.assert)(value[url], 'The source is not known');
|
|
832
|
-
const
|
|
833
|
-
const targetAccounts = this.filterAccountsByAccountAuthType(
|
|
645
|
+
const pairs = this.getPairs();
|
|
646
|
+
const targetAccounts = this.filterAccountsByAccountAuthType(pairs, value[url].accountAuthTypes);
|
|
834
647
|
targetAccounts.forEach(address => {
|
|
835
648
|
value[url].isAllowedMap[address] = connectValue;
|
|
836
649
|
});
|
|
@@ -865,7 +678,7 @@ class KoniExtension {
|
|
|
865
678
|
_changeAuthorizationPerAcc(address, connectValue, url, callBack) {
|
|
866
679
|
this.#koniState.getAuthorize(value => {
|
|
867
680
|
(0, _util.assert)(value, 'The source is not known');
|
|
868
|
-
if (this.isAddressValidWithAuthType(address, value[url].
|
|
681
|
+
if (this.isAddressValidWithAuthType(address, value[url].accountAuthTypes)) {
|
|
869
682
|
value[url].isAllowedMap[address] = connectValue;
|
|
870
683
|
this.#koniState.setAuthorize(value, () => {
|
|
871
684
|
callBack && callBack(value);
|
|
@@ -948,10 +761,10 @@ class KoniExtension {
|
|
|
948
761
|
this.#koniState.updateSetting('theme', data);
|
|
949
762
|
return true;
|
|
950
763
|
}
|
|
951
|
-
setCamera(
|
|
764
|
+
setCamera(_ref18) {
|
|
952
765
|
let {
|
|
953
766
|
camera
|
|
954
|
-
} =
|
|
767
|
+
} = _ref18;
|
|
955
768
|
this.#koniState.updateSetting('camera', camera);
|
|
956
769
|
return true;
|
|
957
770
|
}
|
|
@@ -959,17 +772,17 @@ class KoniExtension {
|
|
|
959
772
|
this.#koniState.updateSetting('browserConfirmationType', data);
|
|
960
773
|
return true;
|
|
961
774
|
}
|
|
962
|
-
setAutoLockTime(
|
|
775
|
+
setAutoLockTime(_ref19) {
|
|
963
776
|
let {
|
|
964
777
|
autoLockTime
|
|
965
|
-
} =
|
|
778
|
+
} = _ref19;
|
|
966
779
|
this.#koniState.updateSetting('timeAutoLock', autoLockTime);
|
|
967
780
|
return true;
|
|
968
781
|
}
|
|
969
|
-
setUnlockType(
|
|
782
|
+
setUnlockType(_ref20) {
|
|
970
783
|
let {
|
|
971
784
|
unlockType
|
|
972
|
-
} =
|
|
785
|
+
} = _ref20;
|
|
973
786
|
this.#koniState.updateSetting('unlockType', unlockType);
|
|
974
787
|
return true;
|
|
975
788
|
}
|
|
@@ -986,31 +799,31 @@ class KoniExtension {
|
|
|
986
799
|
});
|
|
987
800
|
return await this.getSettings();
|
|
988
801
|
}
|
|
989
|
-
setEnableChainPatrol(
|
|
802
|
+
setEnableChainPatrol(_ref21) {
|
|
990
803
|
let {
|
|
991
804
|
enable
|
|
992
|
-
} =
|
|
805
|
+
} = _ref21;
|
|
993
806
|
this.#koniState.updateSetting('enableChainPatrol', enable);
|
|
994
807
|
return true;
|
|
995
808
|
}
|
|
996
|
-
setShowZeroBalance(
|
|
809
|
+
setShowZeroBalance(_ref22) {
|
|
997
810
|
let {
|
|
998
811
|
show
|
|
999
|
-
} =
|
|
812
|
+
} = _ref22;
|
|
1000
813
|
this.#koniState.updateSetting('isShowZeroBalance', show);
|
|
1001
814
|
return true;
|
|
1002
815
|
}
|
|
1003
|
-
setLanguage(
|
|
816
|
+
setLanguage(_ref23) {
|
|
1004
817
|
let {
|
|
1005
818
|
language
|
|
1006
|
-
} =
|
|
819
|
+
} = _ref23;
|
|
1007
820
|
this.#koniState.updateSetting('language', language);
|
|
1008
821
|
return true;
|
|
1009
822
|
}
|
|
1010
|
-
setShowBalance(
|
|
823
|
+
setShowBalance(_ref24) {
|
|
1011
824
|
let {
|
|
1012
825
|
enable
|
|
1013
|
-
} =
|
|
826
|
+
} = _ref24;
|
|
1014
827
|
this.#koniState.updateSetting('isShowBalance', enable);
|
|
1015
828
|
return true;
|
|
1016
829
|
}
|
|
@@ -1027,39 +840,10 @@ class KoniExtension {
|
|
|
1027
840
|
});
|
|
1028
841
|
return await this.#koniState.getAuthList();
|
|
1029
842
|
}
|
|
1030
|
-
|
|
1031
|
-
let accountInfo = this.#koniState.keyringService.currentAccount;
|
|
1032
|
-
if (!accountInfo) {
|
|
1033
|
-
accountInfo = {
|
|
1034
|
-
address,
|
|
1035
|
-
currentGenesisHash: _constants.ALL_GENESIS_HASH,
|
|
1036
|
-
allGenesisHash: _constants.ALL_GENESIS_HASH || undefined
|
|
1037
|
-
};
|
|
1038
|
-
} else {
|
|
1039
|
-
accountInfo.address = address;
|
|
1040
|
-
if (address !== _constants.ALL_ACCOUNT_KEY) {
|
|
1041
|
-
try {
|
|
1042
|
-
const currentKeyPair = _uiKeyring.keyring.getPair(address);
|
|
1043
|
-
accountInfo.currentGenesisHash = (currentKeyPair === null || currentKeyPair === void 0 ? void 0 : currentKeyPair.meta.genesisHash) || _constants.ALL_GENESIS_HASH;
|
|
1044
|
-
} catch {
|
|
1045
|
-
accountInfo.currentGenesisHash = _constants.ALL_GENESIS_HASH;
|
|
1046
|
-
}
|
|
1047
|
-
} else {
|
|
1048
|
-
accountInfo.currentGenesisHash = accountInfo.allGenesisHash || _constants.ALL_GENESIS_HASH;
|
|
1049
|
-
}
|
|
1050
|
-
}
|
|
1051
|
-
this.#koniState.setCurrentAccount(accountInfo, () => {
|
|
1052
|
-
callback && callback(accountInfo);
|
|
1053
|
-
});
|
|
1054
|
-
}
|
|
1055
|
-
updateCurrentAccountAddress(address) {
|
|
1056
|
-
this._saveCurrentAccountAddress(address);
|
|
1057
|
-
return true;
|
|
1058
|
-
}
|
|
1059
|
-
async saveCurrentAccountAddress(data) {
|
|
843
|
+
async saveCurrentAccountProxy(data) {
|
|
1060
844
|
return new Promise(resolve => {
|
|
1061
|
-
this.
|
|
1062
|
-
resolve(
|
|
845
|
+
this.#koniState.keyringService.context.saveCurrentAccountProxyId(data.address, () => {
|
|
846
|
+
resolve(true);
|
|
1063
847
|
});
|
|
1064
848
|
});
|
|
1065
849
|
}
|
|
@@ -1088,10 +872,10 @@ class KoniExtension {
|
|
|
1088
872
|
async getPrice() {
|
|
1089
873
|
return this.#koniState.priceService.getPrice();
|
|
1090
874
|
}
|
|
1091
|
-
async setPriceCurrency(
|
|
875
|
+
async setPriceCurrency(_ref25) {
|
|
1092
876
|
let {
|
|
1093
877
|
currency
|
|
1094
|
-
} =
|
|
878
|
+
} = _ref25;
|
|
1095
879
|
return await this.#koniState.priceService.setPriceCurrency(currency);
|
|
1096
880
|
}
|
|
1097
881
|
subscribePrice(id, port) {
|
|
@@ -1143,138 +927,24 @@ class KoniExtension {
|
|
|
1143
927
|
});
|
|
1144
928
|
return this.getCrowdloan(true);
|
|
1145
929
|
}
|
|
1146
|
-
|
|
1147
|
-
const
|
|
1148
|
-
const encType = Array.isArray(json.encoding.type) ? json.encoding.type : [json.encoding.type];
|
|
1149
|
-
const pair = (0, _keyring.createPair)({
|
|
1150
|
-
toSS58: this.encodeAddress,
|
|
1151
|
-
type: cryptoType
|
|
1152
|
-
}, {
|
|
1153
|
-
publicKey: this.decodeAddress(json.address, true)
|
|
1154
|
-
}, json.meta, (0, _util.isHex)(json.encoded) ? (0, _util.hexToU8a)(json.encoded) : (0, _utilCrypto.base64Decode)(json.encoded), encType);
|
|
1155
|
-
|
|
1156
|
-
// unlock then lock (locking cleans secretKey, so needs to be last)
|
|
1157
|
-
try {
|
|
1158
|
-
pair.decodePkcs8(password);
|
|
1159
|
-
pair.lock();
|
|
1160
|
-
return true;
|
|
1161
|
-
} catch (e) {
|
|
1162
|
-
console.error(e);
|
|
1163
|
-
return false;
|
|
1164
|
-
}
|
|
1165
|
-
}
|
|
1166
|
-
validatedAccountsPassword(json, password) {
|
|
1167
|
-
try {
|
|
1168
|
-
(0, _util.u8aToString)((0, _utilCrypto.jsonDecrypt)(json, password));
|
|
1169
|
-
return true;
|
|
1170
|
-
} catch (e) {
|
|
1171
|
-
return false;
|
|
1172
|
-
}
|
|
1173
|
-
}
|
|
1174
|
-
_addAddressToAuthList(address, isAllowed) {
|
|
1175
|
-
this.#koniState.getAuthorize(value => {
|
|
1176
|
-
if (value && Object.keys(value).length) {
|
|
1177
|
-
Object.keys(value).forEach(url => {
|
|
1178
|
-
if (this.isAddressValidWithAuthType(address, value[url].accountAuthType)) {
|
|
1179
|
-
value[url].isAllowedMap[address] = isAllowed;
|
|
1180
|
-
}
|
|
1181
|
-
});
|
|
1182
|
-
this.#koniState.setAuthorize(value);
|
|
1183
|
-
}
|
|
1184
|
-
});
|
|
1185
|
-
}
|
|
1186
|
-
_addAddressesToAuthList(addresses, isAllowed) {
|
|
1187
|
-
this.#koniState.getAuthorize(value => {
|
|
1188
|
-
if (value && Object.keys(value).length) {
|
|
1189
|
-
Object.keys(value).forEach(url => {
|
|
1190
|
-
addresses.forEach(address => {
|
|
1191
|
-
if (this.isAddressValidWithAuthType(address, value[url].accountAuthType)) {
|
|
1192
|
-
value[url].isAllowedMap[address] = isAllowed;
|
|
1193
|
-
}
|
|
1194
|
-
});
|
|
1195
|
-
}); /**/
|
|
1196
|
-
|
|
1197
|
-
this.#koniState.setAuthorize(value);
|
|
1198
|
-
}
|
|
1199
|
-
});
|
|
1200
|
-
}
|
|
1201
|
-
async accountsCreateSuriV2(_ref36) {
|
|
1202
|
-
let {
|
|
1203
|
-
genesisHash,
|
|
1204
|
-
isAllowed,
|
|
1205
|
-
name,
|
|
1206
|
-
password,
|
|
1207
|
-
suri: _suri,
|
|
1208
|
-
types
|
|
1209
|
-
} = _ref36;
|
|
1210
|
-
const addressDict = {};
|
|
1211
|
-
let changedAccount = false;
|
|
1212
|
-
const hasMasterPassword = _uiKeyring.keyring.keyring.hasMasterPassword;
|
|
1213
|
-
if (!hasMasterPassword) {
|
|
1214
|
-
if (!password) {
|
|
1215
|
-
throw Error((0, _i18next.t)('The password of each account is needed to set up master password'));
|
|
1216
|
-
} else {
|
|
1217
|
-
_uiKeyring.keyring.changeMasterPassword(password);
|
|
1218
|
-
this.#koniState.updateKeyringState();
|
|
1219
|
-
}
|
|
1220
|
-
}
|
|
1221
|
-
const currentAccount = this.#koniState.keyringService.currentAccount;
|
|
1222
|
-
const allGenesisHash = (currentAccount === null || currentAccount === void 0 ? void 0 : currentAccount.allGenesisHash) || undefined;
|
|
1223
|
-
types === null || types === void 0 ? void 0 : types.forEach(type => {
|
|
1224
|
-
const suri = getSuri(_suri, type);
|
|
1225
|
-
const address = _uiKeyring.keyring.createFromUri(suri, {}, type).address;
|
|
1226
|
-
addressDict[type] = address;
|
|
1227
|
-
const newAccountName = type === 'ethereum' ? `${name} - EVM` : name;
|
|
1228
|
-
_uiKeyring.keyring.addUri(suri, {
|
|
1229
|
-
genesisHash,
|
|
1230
|
-
name: newAccountName
|
|
1231
|
-
}, type);
|
|
1232
|
-
this._addAddressToAuthList(address, isAllowed);
|
|
1233
|
-
if (!changedAccount) {
|
|
1234
|
-
if (types.length === 1) {
|
|
1235
|
-
this.#koniState.setCurrentAccount({
|
|
1236
|
-
address,
|
|
1237
|
-
currentGenesisHash: genesisHash || null,
|
|
1238
|
-
allGenesisHash
|
|
1239
|
-
});
|
|
1240
|
-
} else {
|
|
1241
|
-
this.#koniState.setCurrentAccount({
|
|
1242
|
-
address: _constants.ALL_ACCOUNT_KEY,
|
|
1243
|
-
currentGenesisHash: allGenesisHash || null,
|
|
1244
|
-
allGenesisHash
|
|
1245
|
-
}, undefined, true);
|
|
1246
|
-
}
|
|
1247
|
-
changedAccount = true;
|
|
1248
|
-
}
|
|
1249
|
-
});
|
|
1250
|
-
await new Promise(resolve => {
|
|
1251
|
-
this.#koniState.addAccountRef(Object.values(addressDict), () => {
|
|
1252
|
-
resolve();
|
|
1253
|
-
});
|
|
1254
|
-
});
|
|
930
|
+
accountsCreateSuriV2(request) {
|
|
931
|
+
const addressDict = this.#koniState.keyringService.context.accountsCreateSuriV2(request);
|
|
1255
932
|
if (this.#alwaysLock) {
|
|
1256
933
|
this.keyringLock();
|
|
1257
934
|
}
|
|
1258
935
|
return addressDict;
|
|
1259
936
|
}
|
|
1260
|
-
async accountsForgetOverride(
|
|
1261
|
-
|
|
1262
|
-
address,
|
|
1263
|
-
lockAfter
|
|
1264
|
-
} = _ref37;
|
|
1265
|
-
_uiKeyring.keyring.forgetAccount(address);
|
|
1266
|
-
await new Promise(resolve => {
|
|
1267
|
-
this.#koniState.removeAccountRef(address, () => {
|
|
1268
|
-
resolve();
|
|
1269
|
-
});
|
|
1270
|
-
});
|
|
937
|
+
async accountsForgetOverride(request) {
|
|
938
|
+
const addresses = await this.#koniState.keyringService.context.accountProxyForget(request);
|
|
1271
939
|
|
|
1272
940
|
// Remove from auth list
|
|
1273
941
|
await new Promise(resolve => {
|
|
1274
942
|
this.#koniState.getAuthorize(value => {
|
|
1275
943
|
if (value && Object.keys(value).length) {
|
|
1276
944
|
Object.keys(value).forEach(url => {
|
|
1277
|
-
|
|
945
|
+
for (const address of addresses) {
|
|
946
|
+
delete value[url].isAllowedMap[address];
|
|
947
|
+
}
|
|
1278
948
|
});
|
|
1279
949
|
this.#koniState.setAuthorize(value, resolve);
|
|
1280
950
|
} else {
|
|
@@ -1282,251 +952,50 @@ class KoniExtension {
|
|
|
1282
952
|
}
|
|
1283
953
|
});
|
|
1284
954
|
});
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
this.#koniState.setCurrentAccount({
|
|
1290
|
-
currentGenesisHash: (currentAccountInfo === null || currentAccountInfo === void 0 ? void 0 : currentAccountInfo.allGenesisHash) || null,
|
|
1291
|
-
address: _constants.ALL_ACCOUNT_KEY
|
|
1292
|
-
}, resolve);
|
|
1293
|
-
});
|
|
1294
|
-
await this.#koniState.disableMantaPay(address);
|
|
1295
|
-
if (lockAfter) {
|
|
955
|
+
for (const address of addresses) {
|
|
956
|
+
await this.#koniState.disableMantaPay(address);
|
|
957
|
+
}
|
|
958
|
+
if (request.lockAfter) {
|
|
1296
959
|
this.checkLockAfterMigrate();
|
|
1297
960
|
}
|
|
1298
961
|
return true;
|
|
1299
962
|
}
|
|
1300
|
-
seedCreateV2(
|
|
1301
|
-
|
|
1302
|
-
length = SEED_DEFAULT_LENGTH,
|
|
1303
|
-
seed: _seed,
|
|
1304
|
-
types
|
|
1305
|
-
} = _ref38;
|
|
1306
|
-
const seed = _seed || (0, _utilCrypto.mnemonicGenerate)(length);
|
|
1307
|
-
const rs = {
|
|
1308
|
-
seed: seed,
|
|
1309
|
-
addressMap: {}
|
|
1310
|
-
};
|
|
1311
|
-
types === null || types === void 0 ? void 0 : types.forEach(type => {
|
|
1312
|
-
rs.addressMap[type] = _uiKeyring.keyring.createFromUri(getSuri(seed, type), {}, type).address;
|
|
1313
|
-
});
|
|
1314
|
-
return rs;
|
|
963
|
+
seedCreateV2(request) {
|
|
964
|
+
return this.#koniState.keyringService.context.mnemonicCreateV2(request);
|
|
1315
965
|
}
|
|
1316
|
-
seedValidateV2(
|
|
1317
|
-
|
|
1318
|
-
suri,
|
|
1319
|
-
types
|
|
1320
|
-
} = _ref39;
|
|
1321
|
-
const {
|
|
1322
|
-
phrase
|
|
1323
|
-
} = (0, _utilCrypto.keyExtractSuri)(suri);
|
|
1324
|
-
if ((0, _util.isHex)(phrase)) {
|
|
1325
|
-
(0, _util.assert)((0, _util.isHex)(phrase, 256), (0, _i18next.t)('Invalid seed phrase. Please try again.'));
|
|
1326
|
-
} else {
|
|
1327
|
-
// sadly isHex detects as string, so we need a cast here
|
|
1328
|
-
(0, _util.assert)(SEED_LENGTHS.includes(phrase.split(' ').length), (0, _i18next.t)('Seed phrase needs to contain {{x}} words', {
|
|
1329
|
-
replace: {
|
|
1330
|
-
x: SEED_LENGTHS.join(', ')
|
|
1331
|
-
}
|
|
1332
|
-
}));
|
|
1333
|
-
(0, _util.assert)((0, _utilCrypto.mnemonicValidate)(phrase), (0, _i18next.t)('Invalid seed phrase. Please try again.'));
|
|
1334
|
-
}
|
|
1335
|
-
const rs = {
|
|
1336
|
-
seed: suri,
|
|
1337
|
-
addressMap: {}
|
|
1338
|
-
};
|
|
1339
|
-
types && types.forEach(type => {
|
|
1340
|
-
rs.addressMap[type] = _uiKeyring.keyring.createFromUri(getSuri(suri, type), {}, type).address;
|
|
1341
|
-
});
|
|
1342
|
-
return rs;
|
|
966
|
+
seedValidateV2(request) {
|
|
967
|
+
return this.#koniState.keyringService.context.mnemonicValidateV2(request);
|
|
1343
968
|
}
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
suri,
|
|
1347
|
-
types
|
|
1348
|
-
} = _ref40;
|
|
1349
|
-
let autoAddPrefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
1350
|
-
const {
|
|
1351
|
-
phrase
|
|
1352
|
-
} = (0, _utilCrypto.keyExtractSuri)(suri);
|
|
1353
|
-
const rs = {
|
|
1354
|
-
autoAddPrefix: autoAddPrefix,
|
|
1355
|
-
addressMap: {}
|
|
1356
|
-
};
|
|
1357
|
-
types && types.forEach(type => {
|
|
1358
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
1359
|
-
rs.addressMap[type] = '';
|
|
1360
|
-
});
|
|
1361
|
-
if ((0, _util.isHex)(phrase) && (0, _util.isHex)(phrase, 256)) {
|
|
1362
|
-
types && types.forEach(type => {
|
|
1363
|
-
rs.addressMap[type] = _uiKeyring.keyring.createFromUri(getSuri(suri, type), {}, type).address;
|
|
1364
|
-
});
|
|
1365
|
-
} else {
|
|
1366
|
-
rs.autoAddPrefix = false;
|
|
1367
|
-
(0, _util.assert)(false, (0, _i18next.t)('Invalid private key. Please try again.'));
|
|
1368
|
-
}
|
|
1369
|
-
return rs;
|
|
969
|
+
privateKeyValidateV2(request) {
|
|
970
|
+
return this.#koniState.keyringService.context.privateKeyValidateV2(request);
|
|
1370
971
|
}
|
|
1371
|
-
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
const isValidSuri = suri.startsWith('0x');
|
|
1377
|
-
if (isValidSuri) {
|
|
1378
|
-
return this._checkValidatePrivateKey({
|
|
1379
|
-
suri,
|
|
1380
|
-
types
|
|
1381
|
-
});
|
|
1382
|
-
} else {
|
|
1383
|
-
return this._checkValidatePrivateKey({
|
|
1384
|
-
suri: `0x${suri}`,
|
|
1385
|
-
types
|
|
1386
|
-
}, true);
|
|
1387
|
-
}
|
|
1388
|
-
}
|
|
1389
|
-
deriveV2(parentAddress, suri, metadata) {
|
|
1390
|
-
const parentPair = _uiKeyring.keyring.getPair(parentAddress);
|
|
1391
|
-
if (parentPair.isLocked) {
|
|
1392
|
-
_uiKeyring.keyring.unlockPair(parentPair.address);
|
|
1393
|
-
}
|
|
1394
|
-
try {
|
|
1395
|
-
return parentPair.derive(suri, metadata);
|
|
1396
|
-
} catch (err) {
|
|
1397
|
-
throw new Error((0, _i18next.t)('"{{suri}}" is not a valid derivation path', {
|
|
1398
|
-
replace: {
|
|
1399
|
-
suri
|
|
1400
|
-
}
|
|
1401
|
-
}));
|
|
1402
|
-
}
|
|
972
|
+
|
|
973
|
+
/* JSON */
|
|
974
|
+
|
|
975
|
+
parseInfoSingleJson(request) {
|
|
976
|
+
return this.#koniState.keyringService.context.parseInfoSingleJson(request);
|
|
1403
977
|
}
|
|
1404
|
-
|
|
1405
|
-
|
|
1406
|
-
|
|
1407
|
-
|
|
1408
|
-
|
|
1409
|
-
parentAddress,
|
|
1410
|
-
suri
|
|
1411
|
-
} = _ref42;
|
|
1412
|
-
const childPair = this.deriveV2(parentAddress, suri, {
|
|
1413
|
-
genesisHash,
|
|
1414
|
-
name,
|
|
1415
|
-
parentAddress,
|
|
1416
|
-
suri
|
|
1417
|
-
});
|
|
1418
|
-
const address = childPair.address;
|
|
1419
|
-
this._saveCurrentAccountAddress(address, () => {
|
|
1420
|
-
_uiKeyring.keyring.addPair(childPair, true);
|
|
1421
|
-
this._addAddressToAuthList(address, isAllowed);
|
|
978
|
+
async jsonRestoreV2(request) {
|
|
979
|
+
return await this.#koniState.keyringService.context.jsonRestoreV2(request, () => {
|
|
980
|
+
if (this.#alwaysLock) {
|
|
981
|
+
this.keyringLock();
|
|
982
|
+
}
|
|
1422
983
|
});
|
|
1423
|
-
return true;
|
|
1424
984
|
}
|
|
1425
|
-
|
|
1426
|
-
|
|
1427
|
-
|
|
1428
|
-
|
|
1429
|
-
|
|
1430
|
-
|
|
1431
|
-
|
|
1432
|
-
|
|
1433
|
-
const isPasswordValidated = this.validatePassword(file, password);
|
|
1434
|
-
const {
|
|
1435
|
-
promise,
|
|
1436
|
-
resolve
|
|
1437
|
-
} = (0, _utils4.createPromiseHandler)();
|
|
1438
|
-
if (isPasswordValidated) {
|
|
1439
|
-
try {
|
|
1440
|
-
this._saveCurrentAccountAddress(address, () => {
|
|
1441
|
-
var _newAccount$meta, _newAccount$meta2;
|
|
1442
|
-
const newAccount = _uiKeyring.keyring.restoreAccount(file, password, withMasterPassword);
|
|
1443
|
-
|
|
1444
|
-
// genesisHash is not used in SubWallet => reset it to empty string
|
|
1445
|
-
if ((_newAccount$meta = newAccount.meta) !== null && _newAccount$meta !== void 0 && _newAccount$meta.genesisHash && ((_newAccount$meta2 = newAccount.meta) === null || _newAccount$meta2 === void 0 ? void 0 : _newAccount$meta2.genesisHash) !== '') {
|
|
1446
|
-
_uiKeyring.keyring.saveAccountMeta(newAccount, {
|
|
1447
|
-
...newAccount.meta,
|
|
1448
|
-
genesisHash: ''
|
|
1449
|
-
});
|
|
1450
|
-
}
|
|
1451
|
-
this._addAddressToAuthList(address, isAllowed);
|
|
1452
|
-
resolve([address]);
|
|
1453
|
-
});
|
|
1454
|
-
if (this.#alwaysLock) {
|
|
1455
|
-
this.keyringLock();
|
|
1456
|
-
}
|
|
1457
|
-
return promise;
|
|
1458
|
-
} catch (error) {
|
|
1459
|
-
throw new Error(error.message);
|
|
1460
|
-
}
|
|
1461
|
-
} else {
|
|
1462
|
-
throw new Error((0, _i18next.t)('Wrong password'));
|
|
1463
|
-
}
|
|
985
|
+
parseInfoMultiJson(request) {
|
|
986
|
+
return this.#koniState.keyringService.context.parseInfoMultiJson(request);
|
|
987
|
+
}
|
|
988
|
+
batchRestoreV2(request) {
|
|
989
|
+
return this.#koniState.keyringService.context.batchRestoreV2(request);
|
|
990
|
+
}
|
|
991
|
+
async batchExportV2(request) {
|
|
992
|
+
return this.#koniState.keyringService.context.batchExportV2(request);
|
|
1464
993
|
}
|
|
1465
|
-
batchRestoreV2(_ref44) {
|
|
1466
|
-
let {
|
|
1467
|
-
accountsInfo,
|
|
1468
|
-
file,
|
|
1469
|
-
isAllowed,
|
|
1470
|
-
password
|
|
1471
|
-
} = _ref44;
|
|
1472
|
-
const addressList = accountsInfo.map(acc => acc.address);
|
|
1473
|
-
const isPasswordValidated = this.validatedAccountsPassword(file, password);
|
|
1474
|
-
const {
|
|
1475
|
-
promise,
|
|
1476
|
-
resolve
|
|
1477
|
-
} = (0, _utils4.createPromiseHandler)();
|
|
1478
|
-
if (isPasswordValidated) {
|
|
1479
|
-
try {
|
|
1480
|
-
this._saveCurrentAccountAddress(_constants.ALL_ACCOUNT_KEY, () => {
|
|
1481
|
-
_uiKeyring.keyring.restoreAccounts(file, password);
|
|
1482
|
-
this.#koniState.keyringService.removeNoneHardwareGenesisHash();
|
|
1483
|
-
const successAddressList = addressList.reduce((addressList, address) => {
|
|
1484
|
-
try {
|
|
1485
|
-
const account = _uiKeyring.keyring.getPair(address);
|
|
1486
|
-
if (account) {
|
|
1487
|
-
addressList.push(address);
|
|
1488
|
-
}
|
|
1489
|
-
} catch (error) {
|
|
1490
|
-
console.log(error);
|
|
1491
|
-
}
|
|
1492
|
-
return addressList;
|
|
1493
|
-
}, []);
|
|
1494
|
-
this._addAddressesToAuthList(successAddressList, isAllowed);
|
|
1495
|
-
resolve(successAddressList);
|
|
1496
|
-
});
|
|
1497
994
|
|
|
1498
|
-
|
|
1499
|
-
// this.keyringLock();
|
|
1500
|
-
// }
|
|
995
|
+
/* JSON */
|
|
1501
996
|
|
|
1502
|
-
|
|
1503
|
-
|
|
1504
|
-
throw new Error(error.message);
|
|
1505
|
-
}
|
|
1506
|
-
} else {
|
|
1507
|
-
throw new Error((0, _i18next.t)('Wrong password'));
|
|
1508
|
-
}
|
|
1509
|
-
}
|
|
1510
|
-
async batchExportV2(_ref45) {
|
|
1511
|
-
let {
|
|
1512
|
-
addresses,
|
|
1513
|
-
password
|
|
1514
|
-
} = _ref45;
|
|
1515
|
-
try {
|
|
1516
|
-
if (addresses && !addresses.length) {
|
|
1517
|
-
throw new Error((0, _i18next.t)('No accounts found to export'));
|
|
1518
|
-
}
|
|
1519
|
-
return {
|
|
1520
|
-
exportedJson: await _uiKeyring.keyring.backupAccounts(password, addresses)
|
|
1521
|
-
};
|
|
1522
|
-
} catch (e) {
|
|
1523
|
-
const error = e;
|
|
1524
|
-
if (error.message === 'Invalid master password') {
|
|
1525
|
-
throw new Error((0, _i18next.t)('Wrong password'));
|
|
1526
|
-
} else {
|
|
1527
|
-
throw error;
|
|
1528
|
-
}
|
|
1529
|
-
}
|
|
997
|
+
exportAccountProxyMnemonic(request) {
|
|
998
|
+
return this.#koniState.keyringService.context.exportAccountProxyMnemonic(request);
|
|
1530
999
|
}
|
|
1531
1000
|
getNftCollection() {
|
|
1532
1001
|
return this.#koniState.getNftCollection();
|
|
@@ -1603,7 +1072,7 @@ class KoniExtension {
|
|
|
1603
1072
|
const addresses = _uiKeyring.keyring.getAccounts().map(a => a.address);
|
|
1604
1073
|
|
|
1605
1074
|
// Re-filter
|
|
1606
|
-
cb(histories.filter(item => addresses.some(address => (0,
|
|
1075
|
+
cb(histories.filter(item => addresses.some(address => (0, _utils5.isSameAddress)(item.address, address))));
|
|
1607
1076
|
});
|
|
1608
1077
|
this.createUnsubscriptionHandle(id, subscription.unsubscribe);
|
|
1609
1078
|
port.onDisconnect.addListener(() => {
|
|
@@ -1612,13 +1081,13 @@ class KoniExtension {
|
|
|
1612
1081
|
const addresses = _uiKeyring.keyring.getAccounts().map(a => a.address);
|
|
1613
1082
|
|
|
1614
1083
|
// Re-filter
|
|
1615
|
-
return historySubject.getValue().filter(item => addresses.some(address => (0,
|
|
1084
|
+
return historySubject.getValue().filter(item => addresses.some(address => (0, _utils5.isSameAddress)(item.address, address)));
|
|
1616
1085
|
}
|
|
1617
|
-
subscribeHistoryByChainAndAddress(
|
|
1086
|
+
subscribeHistoryByChainAndAddress(_ref26, id, port) {
|
|
1618
1087
|
let {
|
|
1619
1088
|
address,
|
|
1620
1089
|
chain
|
|
1621
|
-
} =
|
|
1090
|
+
} = _ref26;
|
|
1622
1091
|
const cb = (0, _subscriptions.createSubscription)(id, port);
|
|
1623
1092
|
const subscribeHistoriesResponse = this.#koniState.historyService.subscribeHistories(chain, address, cb);
|
|
1624
1093
|
this.createUnsubscriptionHandle(id, subscribeHistoriesResponse.unsubscribe);
|
|
@@ -1669,12 +1138,12 @@ class KoniExtension {
|
|
|
1669
1138
|
to,
|
|
1670
1139
|
tokenSlug,
|
|
1671
1140
|
transferAll,
|
|
1141
|
+
transferBounceable,
|
|
1672
1142
|
value
|
|
1673
1143
|
} = inputData;
|
|
1674
1144
|
const transferTokenInfo = this.#koniState.chainService.getAssetBySlug(tokenSlug);
|
|
1675
1145
|
const [errors,,] = (0, _transfer.validateTransferRequest)(transferTokenInfo, from, to, value, transferAll);
|
|
1676
1146
|
const warnings = [];
|
|
1677
|
-
const evmApiMap = this.#koniState.getEvmApiMap();
|
|
1678
1147
|
const chainInfo = this.#koniState.getChainInfo(networkKey);
|
|
1679
1148
|
const nativeTokenInfo = this.#koniState.getNativeTokenInfo(networkKey);
|
|
1680
1149
|
const nativeTokenSlug = nativeTokenInfo.slug;
|
|
@@ -1683,8 +1152,8 @@ class KoniExtension {
|
|
|
1683
1152
|
let chainType = _KoniTypes.ChainType.SUBSTRATE;
|
|
1684
1153
|
const transferAmount = {
|
|
1685
1154
|
value: '0',
|
|
1686
|
-
symbol: (0,
|
|
1687
|
-
decimals: (0,
|
|
1155
|
+
symbol: (0, _utils4._getAssetSymbol)(transferTokenInfo),
|
|
1156
|
+
decimals: (0, _utils4._getAssetDecimals)(transferTokenInfo)
|
|
1688
1157
|
};
|
|
1689
1158
|
let transaction;
|
|
1690
1159
|
const transferTokenAvailable = await this.getAddressTransferableBalance({
|
|
@@ -1694,20 +1163,34 @@ class KoniExtension {
|
|
|
1694
1163
|
extrinsicType
|
|
1695
1164
|
});
|
|
1696
1165
|
try {
|
|
1697
|
-
if ((0, _utilCrypto.isEthereumAddress)(from) && (0, _utilCrypto.isEthereumAddress)(to) && (0,
|
|
1166
|
+
if ((0, _utilCrypto.isEthereumAddress)(from) && (0, _utilCrypto.isEthereumAddress)(to) && (0, _utils4._isTokenTransferredByEvm)(transferTokenInfo)) {
|
|
1698
1167
|
chainType = _KoniTypes.ChainType.EVM;
|
|
1699
1168
|
const txVal = transferAll ? transferTokenAvailable.value : value || '0';
|
|
1700
|
-
const evmApi =
|
|
1169
|
+
const evmApi = this.#koniState.getEvmApi(networkKey);
|
|
1701
1170
|
|
|
1171
|
+
// todo: refactor: merge getERC20TransactionObject & getEVMTransactionObject
|
|
1702
1172
|
// Estimate with EVM API
|
|
1703
|
-
if ((0,
|
|
1704
|
-
[transaction, transferAmount.value] = await (0, _smartContract.getERC20TransactionObject)((0,
|
|
1173
|
+
if ((0, _utils4._isTokenEvmSmartContract)(transferTokenInfo) || (0, _utils4._isLocalToken)(transferTokenInfo)) {
|
|
1174
|
+
[transaction, transferAmount.value] = await (0, _smartContract.getERC20TransactionObject)((0, _utils4._getContractAddressOfToken)(transferTokenInfo), chainInfo, from, to, txVal, !!transferAll, evmApi);
|
|
1705
1175
|
} else {
|
|
1706
1176
|
[transaction, transferAmount.value] = await (0, _smartContract.getEVMTransactionObject)(chainInfo, from, to, txVal, !!transferAll, evmApi);
|
|
1707
1177
|
}
|
|
1708
|
-
} else if ((0,
|
|
1178
|
+
} else if ((0, _utils4._isMantaZkAsset)(transferTokenInfo)) {
|
|
1709
1179
|
transaction = undefined;
|
|
1710
1180
|
transferAmount.value = '0';
|
|
1181
|
+
} else if ((0, _keyring.isTonAddress)(from) && (0, _keyring.isTonAddress)(to) && (0, _utils4._isTokenTransferredByTon)(transferTokenInfo)) {
|
|
1182
|
+
chainType = _KoniTypes.ChainType.TON;
|
|
1183
|
+
const tonApi = this.#koniState.getTonApi(networkKey);
|
|
1184
|
+
[transaction, transferAmount.value] = await (0, _tonTransfer.createTonTransaction)({
|
|
1185
|
+
tokenInfo: transferTokenInfo,
|
|
1186
|
+
from,
|
|
1187
|
+
to,
|
|
1188
|
+
networkKey,
|
|
1189
|
+
value: value || '0',
|
|
1190
|
+
transferAll: !!transferAll,
|
|
1191
|
+
// currently not used
|
|
1192
|
+
tonApi
|
|
1193
|
+
});
|
|
1711
1194
|
} else {
|
|
1712
1195
|
const substrateApi = this.#koniState.getSubstrateApi(networkKey);
|
|
1713
1196
|
[transaction, transferAmount.value] = await (0, _token.createTransferExtrinsic)({
|
|
@@ -1761,6 +1244,13 @@ class KoniExtension {
|
|
|
1761
1244
|
warnings.length && inputTransaction.warnings.push(...warnings);
|
|
1762
1245
|
errors.length && inputTransaction.errors.push(...errors);
|
|
1763
1246
|
};
|
|
1247
|
+
const ignoreWarnings = [];
|
|
1248
|
+
if (transferAll) {
|
|
1249
|
+
ignoreWarnings.push(_types2.BasicTxWarningCode.NOT_ENOUGH_EXISTENTIAL_DEPOSIT);
|
|
1250
|
+
}
|
|
1251
|
+
if (transferBounceable) {
|
|
1252
|
+
ignoreWarnings.push(_types2.BasicTxWarningCode.IS_BOUNCEABLE_ADDRESS);
|
|
1253
|
+
}
|
|
1764
1254
|
return this.#koniState.transactionService.handleTransaction({
|
|
1765
1255
|
errors,
|
|
1766
1256
|
warnings,
|
|
@@ -1771,7 +1261,7 @@ class KoniExtension {
|
|
|
1771
1261
|
transaction,
|
|
1772
1262
|
data: inputData,
|
|
1773
1263
|
extrinsicType,
|
|
1774
|
-
ignoreWarnings
|
|
1264
|
+
ignoreWarnings,
|
|
1775
1265
|
isTransferAll: isTransferNativeToken ? transferAll : false,
|
|
1776
1266
|
edAsWarning: isTransferNativeToken,
|
|
1777
1267
|
additionalValidator: additionalValidator
|
|
@@ -1784,6 +1274,8 @@ class KoniExtension {
|
|
|
1784
1274
|
originNetworkKey,
|
|
1785
1275
|
to,
|
|
1786
1276
|
tokenSlug,
|
|
1277
|
+
transferAll,
|
|
1278
|
+
transferBounceable,
|
|
1787
1279
|
value
|
|
1788
1280
|
} = inputData;
|
|
1789
1281
|
const originTokenInfo = this.#koniState.getAssetBySlug(tokenSlug);
|
|
@@ -1794,7 +1286,7 @@ class KoniExtension {
|
|
|
1794
1286
|
return this.#koniState.transactionService.generateBeforeHandleResponseErrors(errors);
|
|
1795
1287
|
}
|
|
1796
1288
|
const chainInfoMap = this.#koniState.getChainInfoMap();
|
|
1797
|
-
const isSnowBridgeEvmTransfer = (0,
|
|
1289
|
+
const isSnowBridgeEvmTransfer = (0, _utils4._isPureEvmChain)(chainInfoMap[originNetworkKey]) && (0, _xcmParser._isSnowBridgeXcm)(chainInfoMap[originNetworkKey], chainInfoMap[destinationNetworkKey]);
|
|
1798
1290
|
let additionalValidator;
|
|
1799
1291
|
let eventsHandler;
|
|
1800
1292
|
if (fromKeyPair && destinationTokenInfo) {
|
|
@@ -1861,6 +1353,13 @@ class KoniExtension {
|
|
|
1861
1353
|
});
|
|
1862
1354
|
};
|
|
1863
1355
|
}
|
|
1356
|
+
const ignoreWarnings = [];
|
|
1357
|
+
if (transferAll) {
|
|
1358
|
+
ignoreWarnings.push(_types2.BasicTxWarningCode.NOT_ENOUGH_EXISTENTIAL_DEPOSIT);
|
|
1359
|
+
}
|
|
1360
|
+
if (transferBounceable) {
|
|
1361
|
+
ignoreWarnings.push(_types2.BasicTxWarningCode.IS_BOUNCEABLE_ADDRESS);
|
|
1362
|
+
}
|
|
1864
1363
|
return await this.#koniState.transactionService.handleTransaction({
|
|
1865
1364
|
url: _constants3.EXTENSION_REQUEST_URL,
|
|
1866
1365
|
address: from,
|
|
@@ -1869,9 +1368,9 @@ class KoniExtension {
|
|
|
1869
1368
|
data: inputData,
|
|
1870
1369
|
extrinsicType: _KoniTypes.ExtrinsicType.TRANSFER_XCM,
|
|
1871
1370
|
chainType: !isSnowBridgeEvmTransfer ? _KoniTypes.ChainType.SUBSTRATE : _KoniTypes.ChainType.EVM,
|
|
1872
|
-
transferNativeAmount: (0,
|
|
1873
|
-
ignoreWarnings
|
|
1874
|
-
isTransferAll:
|
|
1371
|
+
transferNativeAmount: (0, _utils4._isNativeToken)(originTokenInfo) ? value : '0',
|
|
1372
|
+
ignoreWarnings,
|
|
1373
|
+
isTransferAll: transferAll,
|
|
1875
1374
|
errors,
|
|
1876
1375
|
additionalValidator: additionalValidator,
|
|
1877
1376
|
eventsHandler: eventsHandler
|
|
@@ -1925,21 +1424,21 @@ class KoniExtension {
|
|
|
1925
1424
|
disableChain(networkKey) {
|
|
1926
1425
|
return this.#koniState.disableChain(networkKey);
|
|
1927
1426
|
}
|
|
1928
|
-
async enableChain(
|
|
1427
|
+
async enableChain(_ref27) {
|
|
1929
1428
|
let {
|
|
1930
1429
|
chainSlug,
|
|
1931
1430
|
enableTokens
|
|
1932
|
-
} =
|
|
1431
|
+
} = _ref27;
|
|
1933
1432
|
return await this.#koniState.enableChain(chainSlug, enableTokens);
|
|
1934
1433
|
}
|
|
1935
1434
|
async reconnectChain(chainSlug) {
|
|
1936
1435
|
return this.#koniState.chainService.reconnectChain(chainSlug);
|
|
1937
1436
|
}
|
|
1938
|
-
async validateNetwork(
|
|
1437
|
+
async validateNetwork(_ref28) {
|
|
1939
1438
|
let {
|
|
1940
1439
|
existedChainSlug,
|
|
1941
1440
|
provider
|
|
1942
|
-
} =
|
|
1441
|
+
} = _ref28;
|
|
1943
1442
|
return await this.#koniState.validateCustomChain(provider, existedChainSlug);
|
|
1944
1443
|
}
|
|
1945
1444
|
resetDefaultNetwork() {
|
|
@@ -1964,10 +1463,10 @@ class KoniExtension {
|
|
|
1964
1463
|
}
|
|
1965
1464
|
async deleteCustomAsset(assetSlug) {
|
|
1966
1465
|
const assetInfo = this.#koniState.getAssetBySlug(assetSlug);
|
|
1967
|
-
if (assetInfo && (0,
|
|
1968
|
-
if ((0,
|
|
1466
|
+
if (assetInfo && (0, _utils4._isCustomAsset)(assetSlug)) {
|
|
1467
|
+
if ((0, _utils4._isAssetSmartContractNft)(assetInfo)) {
|
|
1969
1468
|
// check if deleting a smart contract NFT
|
|
1970
|
-
await this.#koniState.deleteNftCollection(assetInfo.originChain, (0,
|
|
1469
|
+
await this.#koniState.deleteNftCollection(assetInfo.originChain, (0, _utils4._getContractAddressOfToken)(assetInfo));
|
|
1971
1470
|
}
|
|
1972
1471
|
this.#koniState.deleteCustomAssets([assetSlug]);
|
|
1973
1472
|
return true;
|
|
@@ -1977,13 +1476,13 @@ class KoniExtension {
|
|
|
1977
1476
|
async validateCustomAsset(data) {
|
|
1978
1477
|
return await this.#koniState.validateCustomAsset(data);
|
|
1979
1478
|
}
|
|
1980
|
-
async getAddressTransferableBalance(
|
|
1479
|
+
async getAddressTransferableBalance(_ref29) {
|
|
1981
1480
|
let {
|
|
1982
1481
|
address,
|
|
1983
1482
|
extrinsicType,
|
|
1984
1483
|
networkKey,
|
|
1985
1484
|
token
|
|
1986
|
-
} =
|
|
1485
|
+
} = _ref29;
|
|
1987
1486
|
if (token && _constants2._MANTA_ZK_CHAIN_GROUP.includes(networkKey)) {
|
|
1988
1487
|
const tokenInfo = this.#koniState.chainService.getAssetBySlug(token);
|
|
1989
1488
|
if (tokenInfo.symbol.startsWith(_constants2._ZK_ASSET_PREFIX)) {
|
|
@@ -1992,16 +1491,16 @@ class KoniExtension {
|
|
|
1992
1491
|
}
|
|
1993
1492
|
return await this.#koniState.balanceService.getTransferableBalance(address, networkKey, token, extrinsicType);
|
|
1994
1493
|
}
|
|
1995
|
-
async getMaxTransferable(
|
|
1494
|
+
async getMaxTransferable(_ref30) {
|
|
1996
1495
|
let {
|
|
1997
1496
|
address,
|
|
1998
1497
|
destChain,
|
|
1999
1498
|
isXcmTransfer,
|
|
2000
1499
|
networkKey,
|
|
2001
1500
|
token
|
|
2002
|
-
} =
|
|
1501
|
+
} = _ref30;
|
|
2003
1502
|
const tokenInfo = token ? this.#koniState.chainService.getAssetBySlug(token) : this.#koniState.chainService.getNativeTokenInfo(networkKey);
|
|
2004
|
-
if (!(0,
|
|
1503
|
+
if (!(0, _utils4._isNativeToken)(tokenInfo)) {
|
|
2005
1504
|
return await this.getAddressTransferableBalance({
|
|
2006
1505
|
extrinsicType: _KoniTypes.ExtrinsicType.TRANSFER_TOKEN,
|
|
2007
1506
|
address,
|
|
@@ -2017,7 +1516,7 @@ class KoniExtension {
|
|
|
2017
1516
|
maxTransferable = await this.getNativeTokenMaxTransferable(tokenInfo, networkKey, address);
|
|
2018
1517
|
}
|
|
2019
1518
|
return {
|
|
2020
|
-
value: maxTransferable.gt(
|
|
1519
|
+
value: maxTransferable.gt(_utils5.BN_ZERO) ? maxTransferable.toFixed(0) || '0' : '0',
|
|
2021
1520
|
decimals: tokenInfo.decimals,
|
|
2022
1521
|
symbol: tokenInfo.symbol
|
|
2023
1522
|
};
|
|
@@ -2045,7 +1544,7 @@ class KoniExtension {
|
|
|
2045
1544
|
}
|
|
2046
1545
|
async getNativeTokenMaxTransferable(tokenInfo, networkKey, address) {
|
|
2047
1546
|
const chainInfo = this.#koniState.chainService.getChainInfoByKey(networkKey);
|
|
2048
|
-
const api = (0,
|
|
1547
|
+
const api = (0, _utils4._isChainEvmCompatible)(chainInfo) && (0, _utils4._isTokenTransferredByEvm)(tokenInfo) ? this.#koniState.chainService.getEvmApi(networkKey) : (0, _utils4._isChainTonCompatible)(chainInfo) && (0, _utils4._isTokenTransferredByTon)(tokenInfo) ? this.#koniState.chainService.getTonApi(networkKey) : this.#koniState.chainService.getSubstrateApi(networkKey);
|
|
2049
1548
|
const [mockTxFee, {
|
|
2050
1549
|
value
|
|
2051
1550
|
}] = await Promise.all([(0, _token.getTransferMockTxFee)(address, chainInfo, tokenInfo, api), this.getAddressTransferableBalance({
|
|
@@ -2057,13 +1556,13 @@ class KoniExtension {
|
|
|
2057
1556
|
const bnMaxTransferable = new _bignumber.default(value);
|
|
2058
1557
|
return bnMaxTransferable.minus(mockTxFee);
|
|
2059
1558
|
}
|
|
2060
|
-
async subscribeAddressTransferableBalance(
|
|
1559
|
+
async subscribeAddressTransferableBalance(_ref31, id, port) {
|
|
2061
1560
|
let {
|
|
2062
1561
|
address,
|
|
2063
1562
|
extrinsicType,
|
|
2064
1563
|
networkKey,
|
|
2065
1564
|
token
|
|
2066
|
-
} =
|
|
1565
|
+
} = _ref31;
|
|
2067
1566
|
const cb = (0, _subscriptions.createSubscription)(id, port);
|
|
2068
1567
|
const convertData = data => {
|
|
2069
1568
|
return {
|
|
@@ -2114,11 +1613,11 @@ class KoniExtension {
|
|
|
2114
1613
|
isSendingSelf
|
|
2115
1614
|
};
|
|
2116
1615
|
}
|
|
2117
|
-
async enableChains(
|
|
1616
|
+
async enableChains(_ref32) {
|
|
2118
1617
|
let {
|
|
2119
1618
|
chainSlugs,
|
|
2120
1619
|
enableTokens
|
|
2121
|
-
} =
|
|
1620
|
+
} = _ref32;
|
|
2122
1621
|
try {
|
|
2123
1622
|
await Promise.all(chainSlugs.map(chainSlug => this.enableChain({
|
|
2124
1623
|
chainSlug,
|
|
@@ -2129,277 +1628,21 @@ class KoniExtension {
|
|
|
2129
1628
|
}
|
|
2130
1629
|
return true;
|
|
2131
1630
|
}
|
|
2132
|
-
|
|
2133
|
-
|
|
2134
|
-
address
|
|
2135
|
-
} = _ref53;
|
|
2136
|
-
const pair = _uiKeyring.keyring.getPair(address);
|
|
2137
|
-
(0, _util.assert)(pair, (0, _i18next.t)('Unable to find account'));
|
|
2138
|
-
return {
|
|
2139
|
-
meta: pair.meta
|
|
2140
|
-
};
|
|
2141
|
-
}
|
|
2142
|
-
accountsTie2(_ref54) {
|
|
2143
|
-
let {
|
|
2144
|
-
address,
|
|
2145
|
-
genesisHash
|
|
2146
|
-
} = _ref54;
|
|
2147
|
-
return this.#koniState.setAccountTie(address, genesisHash);
|
|
2148
|
-
}
|
|
2149
|
-
async accountsCreateExternalV2(_ref55) {
|
|
2150
|
-
let {
|
|
2151
|
-
address,
|
|
2152
|
-
genesisHash,
|
|
2153
|
-
isAllowed,
|
|
2154
|
-
isEthereum,
|
|
2155
|
-
isReadOnly,
|
|
2156
|
-
name
|
|
2157
|
-
} = _ref55;
|
|
2158
|
-
try {
|
|
2159
|
-
let result;
|
|
2160
|
-
try {
|
|
2161
|
-
const exists = _uiKeyring.keyring.getPair(address);
|
|
2162
|
-
if (exists) {
|
|
2163
|
-
if (exists.type === (isEthereum ? 'ethereum' : 'sr25519')) {
|
|
2164
|
-
return [{
|
|
2165
|
-
code: _KoniTypes.AccountExternalErrorCode.INVALID_ADDRESS,
|
|
2166
|
-
message: (0, _i18next.t)('Account exists')
|
|
2167
|
-
}];
|
|
2168
|
-
}
|
|
2169
|
-
}
|
|
2170
|
-
} catch (e) {}
|
|
2171
|
-
if (isEthereum) {
|
|
2172
|
-
const chainInfoMap = this.#koniState.getChainInfoMap();
|
|
2173
|
-
let _gen = '';
|
|
2174
|
-
if (genesisHash) {
|
|
2175
|
-
for (const network of Object.values(chainInfoMap)) {
|
|
2176
|
-
if ((0, _utils3._getEvmChainId)(network) === parseInt(genesisHash)) {
|
|
2177
|
-
// TODO: pure EVM chains do not have genesisHash
|
|
2178
|
-
_gen = (0, _utils3._getSubstrateGenesisHash)(network);
|
|
2179
|
-
}
|
|
2180
|
-
}
|
|
2181
|
-
}
|
|
2182
|
-
result = _uiKeyring.keyring.keyring.addFromAddress(address, {
|
|
2183
|
-
name,
|
|
2184
|
-
isExternal: true,
|
|
2185
|
-
isReadOnly,
|
|
2186
|
-
genesisHash: _gen
|
|
2187
|
-
}, null, 'ethereum');
|
|
2188
|
-
_uiKeyring.keyring.saveAccount(result);
|
|
2189
|
-
} else {
|
|
2190
|
-
result = _uiKeyring.keyring.addExternal(address, {
|
|
2191
|
-
genesisHash,
|
|
2192
|
-
name,
|
|
2193
|
-
isReadOnly
|
|
2194
|
-
}).pair;
|
|
2195
|
-
}
|
|
2196
|
-
const _address = result.address;
|
|
2197
|
-
await new Promise(resolve => {
|
|
2198
|
-
this.#koniState.addAccountRef([_address], () => {
|
|
2199
|
-
resolve();
|
|
2200
|
-
});
|
|
2201
|
-
});
|
|
2202
|
-
await new Promise(resolve => {
|
|
2203
|
-
this._saveCurrentAccountAddress(_address, () => {
|
|
2204
|
-
this._addAddressToAuthList(_address, isAllowed);
|
|
2205
|
-
resolve();
|
|
2206
|
-
});
|
|
2207
|
-
});
|
|
2208
|
-
return [];
|
|
2209
|
-
} catch (e) {
|
|
2210
|
-
return [{
|
|
2211
|
-
code: _KoniTypes.AccountExternalErrorCode.KEYRING_ERROR,
|
|
2212
|
-
message: e.message
|
|
2213
|
-
}];
|
|
2214
|
-
}
|
|
1631
|
+
async accountsCreateExternalV2(request) {
|
|
1632
|
+
return this.#koniState.keyringService.context.accountsCreateExternalV2(request);
|
|
2215
1633
|
}
|
|
2216
|
-
async accountsCreateHardwareV2(
|
|
2217
|
-
|
|
2218
|
-
accountIndex,
|
|
2219
|
-
address,
|
|
2220
|
-
addressOffset,
|
|
2221
|
-
genesisHash,
|
|
2222
|
-
hardwareType,
|
|
2223
|
-
isAllowed,
|
|
2224
|
-
name,
|
|
2225
|
-
originGenesisHash
|
|
2226
|
-
} = _ref56;
|
|
2227
|
-
const key = _uiKeyring.keyring.addHardware(address, hardwareType, {
|
|
2228
|
-
accountIndex,
|
|
2229
|
-
addressOffset,
|
|
2230
|
-
genesisHash,
|
|
2231
|
-
name,
|
|
2232
|
-
originGenesisHash
|
|
2233
|
-
});
|
|
2234
|
-
const result = key.pair;
|
|
2235
|
-
const _address = result.address;
|
|
2236
|
-
await new Promise(resolve => {
|
|
2237
|
-
this.#koniState.addAccountRef([_address], () => {
|
|
2238
|
-
resolve();
|
|
2239
|
-
});
|
|
2240
|
-
});
|
|
2241
|
-
await new Promise(resolve => {
|
|
2242
|
-
this._saveCurrentAccountAddress(_address, () => {
|
|
2243
|
-
this._addAddressToAuthList(_address, isAllowed || false);
|
|
2244
|
-
resolve();
|
|
2245
|
-
});
|
|
2246
|
-
});
|
|
2247
|
-
return true;
|
|
1634
|
+
async accountsCreateHardwareV2(request) {
|
|
1635
|
+
return this.#koniState.keyringService.context.accountsCreateHardwareV2(request);
|
|
2248
1636
|
}
|
|
2249
|
-
async accountsCreateHardwareMultiple(
|
|
2250
|
-
|
|
2251
|
-
accounts
|
|
2252
|
-
} = _ref57;
|
|
2253
|
-
const addresses = [];
|
|
2254
|
-
if (!accounts.length) {
|
|
2255
|
-
throw new Error((0, _i18next.t)("Can't find an account. Please try again"));
|
|
2256
|
-
}
|
|
2257
|
-
const slugMap = {};
|
|
2258
|
-
for (const account of accounts) {
|
|
2259
|
-
const {
|
|
2260
|
-
accountIndex,
|
|
2261
|
-
address,
|
|
2262
|
-
addressOffset,
|
|
2263
|
-
genesisHash,
|
|
2264
|
-
hardwareType,
|
|
2265
|
-
isEthereum,
|
|
2266
|
-
isGeneric,
|
|
2267
|
-
name,
|
|
2268
|
-
originGenesisHash
|
|
2269
|
-
} = account;
|
|
2270
|
-
let result;
|
|
2271
|
-
const baseMeta = {
|
|
2272
|
-
name,
|
|
2273
|
-
hardwareType,
|
|
2274
|
-
accountIndex,
|
|
2275
|
-
addressOffset,
|
|
2276
|
-
genesisHash,
|
|
2277
|
-
originGenesisHash,
|
|
2278
|
-
isGeneric
|
|
2279
|
-
};
|
|
2280
|
-
if (isEthereum) {
|
|
2281
|
-
result = _uiKeyring.keyring.keyring.addFromAddress(address, {
|
|
2282
|
-
...baseMeta,
|
|
2283
|
-
isExternal: true,
|
|
2284
|
-
isHardware: true
|
|
2285
|
-
}, null, 'ethereum');
|
|
2286
|
-
_uiKeyring.keyring.saveAccount(result);
|
|
2287
|
-
slugMap.ethereum = 'ethereum';
|
|
2288
|
-
} else {
|
|
2289
|
-
result = _uiKeyring.keyring.addHardware(address, hardwareType, {
|
|
2290
|
-
...baseMeta,
|
|
2291
|
-
availableGenesisHashes: [genesisHash]
|
|
2292
|
-
}).pair;
|
|
2293
|
-
const [slug] = this.#koniState.findNetworkKeyByGenesisHash(genesisHash);
|
|
2294
|
-
if (slug) {
|
|
2295
|
-
slugMap[slug] = slug;
|
|
2296
|
-
}
|
|
2297
|
-
}
|
|
2298
|
-
const _address = result.address;
|
|
2299
|
-
addresses.push(_address);
|
|
2300
|
-
await new Promise(resolve => {
|
|
2301
|
-
this._addAddressToAuthList(_address, true);
|
|
2302
|
-
resolve();
|
|
2303
|
-
});
|
|
2304
|
-
}
|
|
2305
|
-
const currentAccount = this.#koniState.keyringService.currentAccount;
|
|
2306
|
-
const allGenesisHash = (currentAccount === null || currentAccount === void 0 ? void 0 : currentAccount.allGenesisHash) || undefined;
|
|
2307
|
-
if (addresses.length <= 1) {
|
|
2308
|
-
this.#koniState.setCurrentAccount({
|
|
2309
|
-
address: addresses[0],
|
|
2310
|
-
currentGenesisHash: null,
|
|
2311
|
-
allGenesisHash
|
|
2312
|
-
});
|
|
2313
|
-
} else {
|
|
2314
|
-
this.#koniState.setCurrentAccount({
|
|
2315
|
-
address: _constants.ALL_ACCOUNT_KEY,
|
|
2316
|
-
currentGenesisHash: allGenesisHash || null,
|
|
2317
|
-
allGenesisHash
|
|
2318
|
-
});
|
|
2319
|
-
}
|
|
2320
|
-
await new Promise(resolve => {
|
|
2321
|
-
this.#koniState.addAccountRef(addresses, () => {
|
|
2322
|
-
resolve();
|
|
2323
|
-
});
|
|
2324
|
-
});
|
|
2325
|
-
if (Object.keys(slugMap).length) {
|
|
2326
|
-
this.enableChains({
|
|
2327
|
-
chainSlugs: Object.keys(slugMap),
|
|
2328
|
-
enableTokens: true
|
|
2329
|
-
}).catch(console.error);
|
|
2330
|
-
}
|
|
2331
|
-
return true;
|
|
1637
|
+
async accountsCreateHardwareMultiple(request) {
|
|
1638
|
+
return this.#koniState.keyringService.context.accountsCreateHardwareMultiple(request);
|
|
2332
1639
|
}
|
|
2333
|
-
async accountsCreateWithSecret(
|
|
2334
|
-
|
|
2335
|
-
|
|
2336
|
-
|
|
2337
|
-
name,
|
|
2338
|
-
publicKey,
|
|
2339
|
-
secretKey
|
|
2340
|
-
} = _ref58;
|
|
2341
|
-
try {
|
|
2342
|
-
let keyringPair = null;
|
|
2343
|
-
if (isEthereum) {
|
|
2344
|
-
const _secret = (0, _util.hexStripPrefix)(secretKey);
|
|
2345
|
-
if (_secret.length === 64) {
|
|
2346
|
-
const suri = `0x${_secret}`;
|
|
2347
|
-
const {
|
|
2348
|
-
phrase
|
|
2349
|
-
} = (0, _utilCrypto.keyExtractSuri)(suri);
|
|
2350
|
-
if ((0, _util.isHex)(phrase) && (0, _util.isHex)(phrase, 256)) {
|
|
2351
|
-
const type = 'ethereum';
|
|
2352
|
-
keyringPair = _uiKeyring.keyring.addUri(getSuri(suri, type), {
|
|
2353
|
-
name: name
|
|
2354
|
-
}, type).pair;
|
|
2355
|
-
}
|
|
2356
|
-
}
|
|
2357
|
-
} else {
|
|
2358
|
-
keyringPair = _uiKeyring.keyring.keyring.addFromPair({
|
|
2359
|
-
publicKey: (0, _util.hexToU8a)(publicKey),
|
|
2360
|
-
secretKey: (0, _util.hexToU8a)(secretKey)
|
|
2361
|
-
}, {
|
|
2362
|
-
name
|
|
2363
|
-
});
|
|
2364
|
-
_uiKeyring.keyring.addPair(keyringPair, true);
|
|
2365
|
-
}
|
|
2366
|
-
if (!keyringPair) {
|
|
2367
|
-
return {
|
|
2368
|
-
success: false,
|
|
2369
|
-
errors: [{
|
|
2370
|
-
code: _KoniTypes.AccountExternalErrorCode.KEYRING_ERROR,
|
|
2371
|
-
message: (0, _i18next.t)('Cannot create account')
|
|
2372
|
-
}]
|
|
2373
|
-
};
|
|
2374
|
-
}
|
|
2375
|
-
const _address = keyringPair.address;
|
|
2376
|
-
await new Promise(resolve => {
|
|
2377
|
-
this.#koniState.addAccountRef([_address], () => {
|
|
2378
|
-
resolve();
|
|
2379
|
-
});
|
|
2380
|
-
});
|
|
2381
|
-
await new Promise(resolve => {
|
|
2382
|
-
this._saveCurrentAccountAddress(_address, () => {
|
|
2383
|
-
this._addAddressToAuthList(_address, isAllow);
|
|
2384
|
-
resolve();
|
|
2385
|
-
});
|
|
2386
|
-
});
|
|
2387
|
-
if (this.#alwaysLock) {
|
|
2388
|
-
this.keyringLock();
|
|
2389
|
-
}
|
|
2390
|
-
return {
|
|
2391
|
-
errors: [],
|
|
2392
|
-
success: true
|
|
2393
|
-
};
|
|
2394
|
-
} catch (e) {
|
|
2395
|
-
return {
|
|
2396
|
-
success: false,
|
|
2397
|
-
errors: [{
|
|
2398
|
-
code: _KoniTypes.AccountExternalErrorCode.KEYRING_ERROR,
|
|
2399
|
-
message: e.message
|
|
2400
|
-
}]
|
|
2401
|
-
};
|
|
1640
|
+
async accountsCreateWithSecret(request) {
|
|
1641
|
+
const result = await this.#koniState.keyringService.context.accountsCreateWithSecret(request);
|
|
1642
|
+
if (this.#alwaysLock) {
|
|
1643
|
+
this.keyringLock();
|
|
2402
1644
|
}
|
|
1645
|
+
return result;
|
|
2403
1646
|
}
|
|
2404
1647
|
|
|
2405
1648
|
/// External account
|
|
@@ -2449,9 +1692,21 @@ class KoniExtension {
|
|
|
2449
1692
|
});
|
|
2450
1693
|
return this.#koniState.getConfirmationsQueueSubject().getValue();
|
|
2451
1694
|
}
|
|
1695
|
+
subscribeConfirmationsTon(id, port) {
|
|
1696
|
+
const cb = (0, _subscriptions.createSubscription)(id, port);
|
|
1697
|
+
const subscription = this.#koniState.getConfirmationsQueueSubjectTon().subscribe(cb);
|
|
1698
|
+
this.createUnsubscriptionHandle(id, subscription.unsubscribe);
|
|
1699
|
+
port.onDisconnect.addListener(() => {
|
|
1700
|
+
this.cancelSubscription(id);
|
|
1701
|
+
});
|
|
1702
|
+
return this.#koniState.getConfirmationsQueueSubjectTon().getValue();
|
|
1703
|
+
}
|
|
2452
1704
|
async completeConfirmation(request) {
|
|
2453
1705
|
return await this.#koniState.completeConfirmation(request);
|
|
2454
1706
|
}
|
|
1707
|
+
async completeConfirmationTon(request) {
|
|
1708
|
+
return await this.#koniState.completeConfirmationTon(request);
|
|
1709
|
+
}
|
|
2455
1710
|
|
|
2456
1711
|
/// Sign Qr
|
|
2457
1712
|
|
|
@@ -2463,7 +1718,7 @@ class KoniExtension {
|
|
|
2463
1718
|
continue;
|
|
2464
1719
|
}
|
|
2465
1720
|
const networkInfo = chainInfoMap[n];
|
|
2466
|
-
if ((0,
|
|
1721
|
+
if ((0, _utils4._isChainEvmCompatible)(networkInfo)) {
|
|
2467
1722
|
return networkInfo;
|
|
2468
1723
|
}
|
|
2469
1724
|
}
|
|
@@ -2474,7 +1729,7 @@ class KoniExtension {
|
|
|
2474
1729
|
continue;
|
|
2475
1730
|
}
|
|
2476
1731
|
const networkInfo = chainInfoMap[n];
|
|
2477
|
-
if ((0,
|
|
1732
|
+
if ((0, _utils4._getEvmChainId)(networkInfo) === chainId) {
|
|
2478
1733
|
return networkInfo;
|
|
2479
1734
|
}
|
|
2480
1735
|
}
|
|
@@ -2483,30 +1738,30 @@ class KoniExtension {
|
|
|
2483
1738
|
|
|
2484
1739
|
// Parse transaction
|
|
2485
1740
|
|
|
2486
|
-
parseSubstrateTransaction(
|
|
1741
|
+
parseSubstrateTransaction(_ref33) {
|
|
2487
1742
|
let {
|
|
2488
1743
|
data,
|
|
2489
1744
|
networkKey
|
|
2490
|
-
} =
|
|
1745
|
+
} = _ref33;
|
|
2491
1746
|
const apiProps = this.#koniState.getSubstrateApi(networkKey);
|
|
2492
1747
|
const apiPromise = apiProps.api;
|
|
2493
1748
|
return (0, _parseTransaction.parseSubstrateTransaction)(data, apiPromise);
|
|
2494
1749
|
}
|
|
2495
|
-
async parseEVMRLP(
|
|
1750
|
+
async parseEVMRLP(_ref34) {
|
|
2496
1751
|
let {
|
|
2497
1752
|
data
|
|
2498
|
-
} =
|
|
1753
|
+
} = _ref34;
|
|
2499
1754
|
return await (0, _parseTransaction2.parseEvmRlp)(data, this.#koniState.getChainInfoMap(), this.#koniState.getEvmApiMap());
|
|
2500
1755
|
}
|
|
2501
1756
|
|
|
2502
1757
|
// Sign
|
|
2503
1758
|
|
|
2504
|
-
qrSignSubstrate(
|
|
1759
|
+
qrSignSubstrate(_ref35) {
|
|
2505
1760
|
let {
|
|
2506
1761
|
address,
|
|
2507
1762
|
data,
|
|
2508
1763
|
networkKey
|
|
2509
|
-
} =
|
|
1764
|
+
} = _ref35;
|
|
2510
1765
|
const pair = _uiKeyring.keyring.getPair(address);
|
|
2511
1766
|
(0, _util.assert)(pair, (0, _i18next.t)('Unable to find account'));
|
|
2512
1767
|
if (pair.isLocked) {
|
|
@@ -2516,20 +1771,20 @@ class KoniExtension {
|
|
|
2516
1771
|
withType: true
|
|
2517
1772
|
})));
|
|
2518
1773
|
const network = this.#koniState.getChainInfo(networkKey);
|
|
2519
|
-
if ((0,
|
|
1774
|
+
if ((0, _utils4._isChainEvmCompatible)(network)) {
|
|
2520
1775
|
signed = signed.substring(2);
|
|
2521
1776
|
}
|
|
2522
1777
|
return {
|
|
2523
1778
|
signature: signed
|
|
2524
1779
|
};
|
|
2525
1780
|
}
|
|
2526
|
-
async qrSignEVM(
|
|
1781
|
+
async qrSignEVM(_ref36) {
|
|
2527
1782
|
let {
|
|
2528
1783
|
address,
|
|
2529
1784
|
chainId,
|
|
2530
1785
|
message,
|
|
2531
1786
|
type
|
|
2532
|
-
} =
|
|
1787
|
+
} = _ref36;
|
|
2533
1788
|
let signed;
|
|
2534
1789
|
const network = this.getNetworkJsonByChainId(chainId);
|
|
2535
1790
|
if (!network) {
|
|
@@ -2549,10 +1804,10 @@ class KoniExtension {
|
|
|
2549
1804
|
} else if ((0, _util.isAscii)(message)) {
|
|
2550
1805
|
data = `0x${message}`;
|
|
2551
1806
|
}
|
|
2552
|
-
signed = await pair.
|
|
1807
|
+
signed = await pair.evm.signMessage(data, 'personal_sign');
|
|
2553
1808
|
} else {
|
|
2554
1809
|
var _signedTranaction$r, _signedTranaction$s, _signedTranaction$v;
|
|
2555
|
-
const tx = (0,
|
|
1810
|
+
const tx = (0, _utils5.createTransactionFromRLP)(message);
|
|
2556
1811
|
if (!tx) {
|
|
2557
1812
|
throw new Error((0, _i18next.t)('Failed to decode data. Please use a valid QR code'));
|
|
2558
1813
|
}
|
|
@@ -2566,8 +1821,8 @@ class KoniExtension {
|
|
|
2566
1821
|
};
|
|
2567
1822
|
const common = _common.Common.custom({
|
|
2568
1823
|
name: network.name,
|
|
2569
|
-
networkId: (0,
|
|
2570
|
-
chainId: (0,
|
|
1824
|
+
networkId: (0, _utils4._getEvmChainId)(network),
|
|
1825
|
+
chainId: (0, _utils4._getEvmChainId)(network)
|
|
2571
1826
|
}, {
|
|
2572
1827
|
hardfork: 'petersburg'
|
|
2573
1828
|
});
|
|
@@ -2576,8 +1831,8 @@ class KoniExtension {
|
|
|
2576
1831
|
const transaction = new _tx.LegacyTransaction(txObject, {
|
|
2577
1832
|
common
|
|
2578
1833
|
});
|
|
2579
|
-
const signedTranaction = _tx.LegacyTransaction.fromSerializedTx((0, _util.hexToU8a)(pair.
|
|
2580
|
-
signed = (0,
|
|
1834
|
+
const signedTranaction = _tx.LegacyTransaction.fromSerializedTx((0, _util.hexToU8a)(pair.evm.signTransaction(transaction)));
|
|
1835
|
+
signed = (0, _utils5.signatureToHex)({
|
|
2581
1836
|
r: ((_signedTranaction$r = signedTranaction.r) === null || _signedTranaction$r === void 0 ? void 0 : _signedTranaction$r.toString(16)) || '',
|
|
2582
1837
|
s: ((_signedTranaction$s = signedTranaction.s) === null || _signedTranaction$s === void 0 ? void 0 : _signedTranaction$s.toString(16)) || '',
|
|
2583
1838
|
v: ((_signedTranaction$v = signedTranaction.v) === null || _signedTranaction$v === void 0 ? void 0 : _signedTranaction$v.toString(16)) || ''
|
|
@@ -2613,11 +1868,11 @@ class KoniExtension {
|
|
|
2613
1868
|
});
|
|
2614
1869
|
return this.#koniState.getNominatorMetadata();
|
|
2615
1870
|
}
|
|
2616
|
-
async getBondingOptions(
|
|
1871
|
+
async getBondingOptions(_ref37) {
|
|
2617
1872
|
let {
|
|
2618
1873
|
chain,
|
|
2619
1874
|
type
|
|
2620
|
-
} =
|
|
1875
|
+
} = _ref37;
|
|
2621
1876
|
const apiProps = this.#koniState.getSubstrateApi(chain);
|
|
2622
1877
|
const chainInfo = this.#koniState.getChainInfo(chain);
|
|
2623
1878
|
const chainStakingMetadata = await this.#koniState.getStakingMetadataByChain(chain, type);
|
|
@@ -2626,7 +1881,7 @@ class KoniExtension {
|
|
|
2626
1881
|
}
|
|
2627
1882
|
const {
|
|
2628
1883
|
decimals
|
|
2629
|
-
} = (0,
|
|
1884
|
+
} = (0, _utils4._getChainNativeTokenBasicInfo)(chainInfo);
|
|
2630
1885
|
return await (0, _bonding.getValidatorsInfo)(chain, apiProps, decimals, chainStakingMetadata);
|
|
2631
1886
|
}
|
|
2632
1887
|
async getNominationPoolOptions(chain) {
|
|
@@ -2649,7 +1904,7 @@ class KoniExtension {
|
|
|
2649
1904
|
chainName: chainInfo.name
|
|
2650
1905
|
}
|
|
2651
1906
|
});
|
|
2652
|
-
return this.#koniState.transactionService.generateBeforeHandleResponseErrors([new _TransactionError.TransactionError(
|
|
1907
|
+
return this.#koniState.transactionService.generateBeforeHandleResponseErrors([new _TransactionError.TransactionError(_types2.StakingTxErrorType.CAN_NOT_GET_METADATA, errMessage)]);
|
|
2653
1908
|
}
|
|
2654
1909
|
const bondingValidation = (0, _bonding.validateBondingCondition)(chainInfo, amount, selectedValidators, address, chainStakingMetadata, nominatorMetadata);
|
|
2655
1910
|
if (!amount || !selectedValidators || bondingValidation.length > 0) {
|
|
@@ -2677,7 +1932,7 @@ class KoniExtension {
|
|
|
2677
1932
|
} = inputData;
|
|
2678
1933
|
const chainStakingMetadata = await this.#koniState.getStakingMetadataByChain(chain, _KoniTypes.StakingType.NOMINATED);
|
|
2679
1934
|
if (!chainStakingMetadata || !nominatorMetadata) {
|
|
2680
|
-
return this.#koniState.transactionService.generateBeforeHandleResponseErrors([new _TransactionError.TransactionError(
|
|
1935
|
+
return this.#koniState.transactionService.generateBeforeHandleResponseErrors([new _TransactionError.TransactionError(_types2.BasicTxErrorType.INTERNAL_ERROR)]);
|
|
2681
1936
|
}
|
|
2682
1937
|
const unbondingValidation = (0, _bonding.validateUnbondingCondition)(nominatorMetadata, amount, chain, chainStakingMetadata, validatorAddress);
|
|
2683
1938
|
if (!amount || unbondingValidation.length > 0) {
|
|
@@ -2702,7 +1957,7 @@ class KoniExtension {
|
|
|
2702
1957
|
} = inputData;
|
|
2703
1958
|
const poolHandler = this.#koniState.earningService.getPoolHandler(slug);
|
|
2704
1959
|
if (!address || !poolHandler) {
|
|
2705
|
-
return this.#koniState.transactionService.generateBeforeHandleResponseErrors([new _TransactionError.TransactionError(
|
|
1960
|
+
return this.#koniState.transactionService.generateBeforeHandleResponseErrors([new _TransactionError.TransactionError(_types2.BasicTxErrorType.INVALID_PARAMS)]);
|
|
2706
1961
|
}
|
|
2707
1962
|
const chain = poolHandler.chain;
|
|
2708
1963
|
const stakingType = poolHandler.type === _types2.YieldPoolType.NOMINATION_POOL ? _KoniTypes.StakingType.POOLED : _KoniTypes.StakingType.NOMINATED;
|
|
@@ -2726,7 +1981,7 @@ class KoniExtension {
|
|
|
2726
1981
|
} = inputData;
|
|
2727
1982
|
const chain = (_this$koniState$earni = this.#koniState.earningService.getPoolHandler(slug)) === null || _this$koniState$earni === void 0 ? void 0 : _this$koniState$earni.chain;
|
|
2728
1983
|
if (!chain || !selectedUnstaking) {
|
|
2729
|
-
return this.#koniState.transactionService.generateBeforeHandleResponseErrors([new _TransactionError.TransactionError(
|
|
1984
|
+
return this.#koniState.transactionService.generateBeforeHandleResponseErrors([new _TransactionError.TransactionError(_types2.BasicTxErrorType.INVALID_PARAMS)]);
|
|
2730
1985
|
}
|
|
2731
1986
|
const substrateApi = this.#koniState.getSubstrateApi(chain);
|
|
2732
1987
|
// @ts-ignore
|
|
@@ -2756,7 +2011,7 @@ class KoniExtension {
|
|
|
2756
2011
|
chainName: chainInfo.name
|
|
2757
2012
|
}
|
|
2758
2013
|
});
|
|
2759
|
-
return this.#koniState.transactionService.generateBeforeHandleResponseErrors([new _TransactionError.TransactionError(
|
|
2014
|
+
return this.#koniState.transactionService.generateBeforeHandleResponseErrors([new _TransactionError.TransactionError(_types2.StakingTxErrorType.CAN_NOT_GET_METADATA, errMessage)]);
|
|
2760
2015
|
}
|
|
2761
2016
|
const bondingValidation = (0, _relayChain.validatePoolBondingCondition)(chainInfo, amount, selectedPool, address, chainStakingMetadata, nominatorMetadata);
|
|
2762
2017
|
if (!amount || bondingValidation.length > 0) {
|
|
@@ -2788,7 +2043,7 @@ class KoniExtension {
|
|
|
2788
2043
|
chainName: chainInfo === null || chainInfo === void 0 ? void 0 : chainInfo.name
|
|
2789
2044
|
}
|
|
2790
2045
|
});
|
|
2791
|
-
return this.#koniState.transactionService.generateBeforeHandleResponseErrors([new _TransactionError.TransactionError(
|
|
2046
|
+
return this.#koniState.transactionService.generateBeforeHandleResponseErrors([new _TransactionError.TransactionError(_types2.StakingTxErrorType.CAN_NOT_GET_METADATA, errMessage)]);
|
|
2792
2047
|
}
|
|
2793
2048
|
const unbondingValidation = (0, _relayChain.validateRelayUnbondingCondition)(amount, chainStakingMetadata, nominatorMetadata);
|
|
2794
2049
|
if (!amount || unbondingValidation.length > 0) {
|
|
@@ -2807,12 +2062,12 @@ class KoniExtension {
|
|
|
2807
2062
|
}
|
|
2808
2063
|
|
|
2809
2064
|
// EVM Transaction
|
|
2810
|
-
async parseContractInput(
|
|
2065
|
+
async parseContractInput(_ref38) {
|
|
2811
2066
|
let {
|
|
2812
2067
|
chainId,
|
|
2813
2068
|
contract,
|
|
2814
2069
|
data
|
|
2815
|
-
} =
|
|
2070
|
+
} = _ref38;
|
|
2816
2071
|
const network = this.getNetworkJsonByChainId(chainId);
|
|
2817
2072
|
return await (0, _parseTransaction2.parseContractInput)(data, contract, network);
|
|
2818
2073
|
}
|
|
@@ -2825,13 +2080,13 @@ class KoniExtension {
|
|
|
2825
2080
|
networkKey
|
|
2826
2081
|
} = inputData;
|
|
2827
2082
|
if (!address) {
|
|
2828
|
-
return this.#koniState.transactionService.generateBeforeHandleResponseErrors([new _TransactionError.TransactionError(
|
|
2083
|
+
return this.#koniState.transactionService.generateBeforeHandleResponseErrors([new _TransactionError.TransactionError(_types2.BasicTxErrorType.INVALID_PARAMS)]);
|
|
2829
2084
|
}
|
|
2830
2085
|
const dotSamaApi = this.#koniState.getSubstrateApi(networkKey);
|
|
2831
2086
|
const chainInfo = this.#koniState.getChainInfo(networkKey);
|
|
2832
2087
|
const {
|
|
2833
2088
|
decimals
|
|
2834
|
-
} = (0,
|
|
2089
|
+
} = (0, _utils4._getChainNativeTokenBasicInfo)(chainInfo);
|
|
2835
2090
|
const parsedAccountMinimum = parseFloat(accountMinimum) * 10 ** decimals;
|
|
2836
2091
|
const extrinsic = await (0, _paraChain.getTuringCompoundExtrinsic)(dotSamaApi, address, collatorAddress, parsedAccountMinimum.toString(), bondedAmount);
|
|
2837
2092
|
return await this.#koniState.transactionService.handleTransaction({
|
|
@@ -2872,8 +2127,7 @@ class KoniExtension {
|
|
|
2872
2127
|
|
|
2873
2128
|
keyringStateSubscribe(id, port) {
|
|
2874
2129
|
const cb = (0, _subscriptions.createSubscription)(id, port);
|
|
2875
|
-
const
|
|
2876
|
-
const subscription = keyringStateSubject.subscribe(value => cb(value));
|
|
2130
|
+
const subscription = this.#koniState.keyringService.keyringStateSubscribe(cb);
|
|
2877
2131
|
this.createUnsubscriptionHandle(id, subscription.unsubscribe);
|
|
2878
2132
|
port.onDisconnect.addListener(() => {
|
|
2879
2133
|
this.cancelSubscription(id);
|
|
@@ -2883,48 +2137,14 @@ class KoniExtension {
|
|
|
2883
2137
|
|
|
2884
2138
|
// Change master password
|
|
2885
2139
|
|
|
2886
|
-
keyringChangeMasterPassword(
|
|
2887
|
-
|
|
2888
|
-
|
|
2889
|
-
|
|
2890
|
-
|
|
2891
|
-
} = _ref65;
|
|
2892
|
-
try {
|
|
2893
|
-
// Remove isMasterPassword meta if createNew
|
|
2894
|
-
if (createNew && !_uiKeyring.keyring.keyring.hasMasterPassword) {
|
|
2895
|
-
const pairs = _uiKeyring.keyring.getPairs();
|
|
2896
|
-
for (const pair of pairs) {
|
|
2897
|
-
if (pair.meta.isInjected) {
|
|
2898
|
-
// Empty
|
|
2899
|
-
} else {
|
|
2900
|
-
const meta = {
|
|
2901
|
-
...pair.meta,
|
|
2902
|
-
isMasterPassword: false
|
|
2903
|
-
};
|
|
2904
|
-
if (!meta.originGenesisHash) {
|
|
2905
|
-
meta.genesisHash = '';
|
|
2906
|
-
}
|
|
2907
|
-
pair.setMeta(meta);
|
|
2908
|
-
_uiKeyring.keyring.saveAccountMeta(pair, pair.meta);
|
|
2909
|
-
}
|
|
2910
|
-
}
|
|
2140
|
+
keyringChangeMasterPassword(request) {
|
|
2141
|
+
const createNew = request.createNew;
|
|
2142
|
+
const callback = () => {
|
|
2143
|
+
if (this.#alwaysLock && !createNew) {
|
|
2144
|
+
this.keyringLock();
|
|
2911
2145
|
}
|
|
2912
|
-
_uiKeyring.keyring.changeMasterPassword(newPassword, oldPassword);
|
|
2913
|
-
} catch (e) {
|
|
2914
|
-
console.error(e);
|
|
2915
|
-
return {
|
|
2916
|
-
errors: [(0, _i18next.t)(e.message)],
|
|
2917
|
-
status: false
|
|
2918
|
-
};
|
|
2919
|
-
}
|
|
2920
|
-
this.#koniState.updateKeyringState();
|
|
2921
|
-
if (this.#alwaysLock && !createNew) {
|
|
2922
|
-
this.keyringLock();
|
|
2923
|
-
}
|
|
2924
|
-
return {
|
|
2925
|
-
status: true,
|
|
2926
|
-
errors: []
|
|
2927
2146
|
};
|
|
2147
|
+
return this.#koniState.keyringService.context.keyringChangeMasterPassword(request, callback);
|
|
2928
2148
|
}
|
|
2929
2149
|
|
|
2930
2150
|
// Migrate password
|
|
@@ -2938,33 +2158,19 @@ class KoniExtension {
|
|
|
2938
2158
|
}
|
|
2939
2159
|
}
|
|
2940
2160
|
}
|
|
2941
|
-
keyringMigrateMasterPassword(
|
|
2942
|
-
|
|
2943
|
-
address,
|
|
2944
|
-
password
|
|
2945
|
-
} = _ref66;
|
|
2946
|
-
try {
|
|
2947
|
-
_uiKeyring.keyring.migrateWithMasterPassword(address, password);
|
|
2161
|
+
keyringMigrateMasterPassword(request) {
|
|
2162
|
+
const cb = () => {
|
|
2948
2163
|
this.checkLockAfterMigrate();
|
|
2949
|
-
} catch (e) {
|
|
2950
|
-
console.error(e);
|
|
2951
|
-
return {
|
|
2952
|
-
errors: [e.message],
|
|
2953
|
-
status: false
|
|
2954
|
-
};
|
|
2955
|
-
}
|
|
2956
|
-
return {
|
|
2957
|
-
status: true,
|
|
2958
|
-
errors: []
|
|
2959
2164
|
};
|
|
2165
|
+
return this.#koniState.keyringService.context.keyringMigrateMasterPassword(request, cb);
|
|
2960
2166
|
}
|
|
2961
2167
|
|
|
2962
2168
|
// Unlock wallet
|
|
2963
2169
|
|
|
2964
|
-
keyringUnlock(
|
|
2170
|
+
keyringUnlock(_ref39) {
|
|
2965
2171
|
let {
|
|
2966
2172
|
password
|
|
2967
|
-
} =
|
|
2173
|
+
} = _ref39;
|
|
2968
2174
|
try {
|
|
2969
2175
|
_uiKeyring.keyring.unlockKeyring(password);
|
|
2970
2176
|
// this.#koniState.initMantaPay(password)
|
|
@@ -2995,11 +2201,11 @@ class KoniExtension {
|
|
|
2995
2201
|
|
|
2996
2202
|
// Export mnemonic
|
|
2997
2203
|
|
|
2998
|
-
keyringExportMnemonic(
|
|
2204
|
+
keyringExportMnemonic(_ref40) {
|
|
2999
2205
|
let {
|
|
3000
2206
|
address,
|
|
3001
2207
|
password
|
|
3002
|
-
} =
|
|
2208
|
+
} = _ref40;
|
|
3003
2209
|
const pair = _uiKeyring.keyring.getPair(address);
|
|
3004
2210
|
const result = pair.exportMnemonic(password);
|
|
3005
2211
|
return {
|
|
@@ -3009,10 +2215,10 @@ class KoniExtension {
|
|
|
3009
2215
|
|
|
3010
2216
|
// Reset wallet
|
|
3011
2217
|
|
|
3012
|
-
async resetWallet(
|
|
2218
|
+
async resetWallet(_ref41) {
|
|
3013
2219
|
let {
|
|
3014
2220
|
resetAll
|
|
3015
|
-
} =
|
|
2221
|
+
} = _ref41;
|
|
3016
2222
|
try {
|
|
3017
2223
|
await this.#koniState.resetWallet(resetAll);
|
|
3018
2224
|
return {
|
|
@@ -3028,10 +2234,10 @@ class KoniExtension {
|
|
|
3028
2234
|
}
|
|
3029
2235
|
|
|
3030
2236
|
/// Signing substrate request
|
|
3031
|
-
async signingApprovePasswordV2(
|
|
2237
|
+
async signingApprovePasswordV2(_ref42) {
|
|
3032
2238
|
let {
|
|
3033
2239
|
id
|
|
3034
|
-
} =
|
|
2240
|
+
} = _ref42;
|
|
3035
2241
|
const queued = this.#koniState.getSignRequest(id);
|
|
3036
2242
|
(0, _util.assert)(queued, (0, _i18next.t)('Unable to proceed. Please try again'));
|
|
3037
2243
|
const {
|
|
@@ -3039,7 +2245,7 @@ class KoniExtension {
|
|
|
3039
2245
|
request,
|
|
3040
2246
|
resolve
|
|
3041
2247
|
} = queued;
|
|
3042
|
-
const pair = _uiKeyring.keyring.getPair(queued.
|
|
2248
|
+
const pair = _uiKeyring.keyring.getPair(queued.address);
|
|
3043
2249
|
|
|
3044
2250
|
// unlike queued.account.address the following
|
|
3045
2251
|
// address is encoded with the default prefix
|
|
@@ -3076,8 +2282,8 @@ class KoniExtension {
|
|
|
3076
2282
|
metadata = await this.#koniState.chainService.getMetadataByHash(payload.genesisHash);
|
|
3077
2283
|
if (metadata) {
|
|
3078
2284
|
var _chainInfo$substrateI, _chainInfo$substrateI2, _chainInfo$substrateI3, _chainInfo$substrateI4;
|
|
3079
|
-
registry = new
|
|
3080
|
-
const _metadata = new
|
|
2285
|
+
registry = new _types4.TypeRegistry();
|
|
2286
|
+
const _metadata = new _types4.Metadata(registry, metadata.hexValue);
|
|
3081
2287
|
registry.register(metadata.types);
|
|
3082
2288
|
registry.setChainProperties(registry.createType('ChainProperties', {
|
|
3083
2289
|
ss58Format: (_chainInfo$substrateI = chainInfo === null || chainInfo === void 0 ? void 0 : (_chainInfo$substrateI2 = chainInfo.substrateInfo) === null || _chainInfo$substrateI2 === void 0 ? void 0 : _chainInfo$substrateI2.addressPrefix) !== null && _chainInfo$substrateI !== void 0 ? _chainInfo$substrateI : 42,
|
|
@@ -3087,7 +2293,7 @@ class KoniExtension {
|
|
|
3087
2293
|
registry.setMetadata(_metadata, payload.signedExtensions, metadata.userExtensions);
|
|
3088
2294
|
} else {
|
|
3089
2295
|
// we have no metadata, create a new registry
|
|
3090
|
-
registry = new
|
|
2296
|
+
registry = new _types4.TypeRegistry();
|
|
3091
2297
|
registry.setSignedExtensions(payload.signedExtensions);
|
|
3092
2298
|
}
|
|
3093
2299
|
}
|
|
@@ -3113,7 +2319,7 @@ class KoniExtension {
|
|
|
3113
2319
|
}
|
|
3114
2320
|
} else {
|
|
3115
2321
|
// for non-payload, just create a registry to use
|
|
3116
|
-
registry = new
|
|
2322
|
+
registry = new _types4.TypeRegistry();
|
|
3117
2323
|
}
|
|
3118
2324
|
const result = request.sign(registry, pair);
|
|
3119
2325
|
resolve({
|
|
@@ -3129,167 +2335,24 @@ class KoniExtension {
|
|
|
3129
2335
|
|
|
3130
2336
|
/// Derive account
|
|
3131
2337
|
|
|
3132
|
-
derivationCreateMultiple(
|
|
3133
|
-
|
|
3134
|
-
isAllowed,
|
|
3135
|
-
items,
|
|
3136
|
-
parentAddress
|
|
3137
|
-
} = _ref71;
|
|
3138
|
-
const parentPair = _uiKeyring.keyring.getPair(parentAddress);
|
|
3139
|
-
const isEvm = parentPair.type === 'ethereum';
|
|
3140
|
-
if (parentPair.isLocked) {
|
|
3141
|
-
_uiKeyring.keyring.unlockPair(parentPair.address);
|
|
3142
|
-
}
|
|
3143
|
-
const createChild = _ref72 => {
|
|
3144
|
-
let {
|
|
3145
|
-
name,
|
|
3146
|
-
suri
|
|
3147
|
-
} = _ref72;
|
|
3148
|
-
const meta = {
|
|
3149
|
-
name: name,
|
|
3150
|
-
parentAddress
|
|
3151
|
-
};
|
|
3152
|
-
if (isEvm) {
|
|
3153
|
-
let index = 0;
|
|
3154
|
-
try {
|
|
3155
|
-
const reg = /^\d+$/;
|
|
3156
|
-
const path = suri.split('//')[1];
|
|
3157
|
-
if (reg.test(path)) {
|
|
3158
|
-
index = parseInt(path);
|
|
3159
|
-
}
|
|
3160
|
-
} catch (e) {}
|
|
3161
|
-
if (!index) {
|
|
3162
|
-
throw Error((0, _i18next.t)('Invalid derive path'));
|
|
3163
|
-
}
|
|
3164
|
-
meta.suri = `//${index}`;
|
|
3165
|
-
return parentPair.deriveEvm(index, meta);
|
|
3166
|
-
} else {
|
|
3167
|
-
meta.suri = suri;
|
|
3168
|
-
return parentPair.derive(suri, meta);
|
|
3169
|
-
}
|
|
3170
|
-
};
|
|
3171
|
-
const result = [];
|
|
3172
|
-
for (const item of items) {
|
|
3173
|
-
try {
|
|
3174
|
-
const childPair = createChild(item);
|
|
3175
|
-
const address = childPair.address;
|
|
3176
|
-
_uiKeyring.keyring.addPair(childPair, true);
|
|
3177
|
-
this._addAddressToAuthList(address, isAllowed);
|
|
3178
|
-
result.push(childPair);
|
|
3179
|
-
} catch (e) {
|
|
3180
|
-
console.log(e);
|
|
3181
|
-
}
|
|
3182
|
-
}
|
|
3183
|
-
if (result.length === 1) {
|
|
3184
|
-
this._saveCurrentAccountAddress(result[0].address);
|
|
3185
|
-
} else {
|
|
3186
|
-
this.#koniState.setCurrentAccount({
|
|
3187
|
-
address: _constants.ALL_ACCOUNT_KEY,
|
|
3188
|
-
currentGenesisHash: null
|
|
3189
|
-
});
|
|
3190
|
-
}
|
|
3191
|
-
return true;
|
|
2338
|
+
derivationCreateMultiple(request) {
|
|
2339
|
+
return this.#koniState.keyringService.context.derivationCreateMultiple(request);
|
|
3192
2340
|
}
|
|
3193
|
-
derivationCreateV3(
|
|
3194
|
-
|
|
3195
|
-
address: parentAddress
|
|
3196
|
-
} = _ref73;
|
|
3197
|
-
const parentPair = _uiKeyring.keyring.getPair(parentAddress);
|
|
3198
|
-
const isEvm = parentPair.type === 'ethereum';
|
|
3199
|
-
if (parentPair.isLocked) {
|
|
3200
|
-
_uiKeyring.keyring.unlockPair(parentPair.address);
|
|
3201
|
-
}
|
|
3202
|
-
const pairs = _uiKeyring.keyring.getPairs();
|
|
3203
|
-
const children = pairs.filter(p => p.meta.parentAddress === parentAddress);
|
|
3204
|
-
const name = `Account ${pairs.length}`;
|
|
3205
|
-
let index = isEvm ? 1 : 0;
|
|
3206
|
-
let valid = false;
|
|
3207
|
-
do {
|
|
3208
|
-
const exist = children.find(p => p.meta.suri === `//${index}`);
|
|
3209
|
-
if (exist) {
|
|
3210
|
-
index++;
|
|
3211
|
-
} else {
|
|
3212
|
-
valid = true;
|
|
3213
|
-
}
|
|
3214
|
-
} while (!valid);
|
|
3215
|
-
const meta = {
|
|
3216
|
-
name,
|
|
3217
|
-
parentAddress,
|
|
3218
|
-
suri: `//${index}`
|
|
3219
|
-
};
|
|
3220
|
-
const childPair = isEvm ? parentPair.deriveEvm(index, meta) : parentPair.derive(meta.suri, meta);
|
|
3221
|
-
const address = childPair.address;
|
|
3222
|
-
this._saveCurrentAccountAddress(address, () => {
|
|
3223
|
-
_uiKeyring.keyring.addPair(childPair, true);
|
|
3224
|
-
this._addAddressToAuthList(address, true);
|
|
3225
|
-
});
|
|
2341
|
+
derivationCreateV3(request) {
|
|
2342
|
+
const rs = this.#koniState.keyringService.context.derivationAccountProxyCreate(request);
|
|
3226
2343
|
if (this.#alwaysLock) {
|
|
3227
2344
|
this.keyringLock();
|
|
3228
2345
|
}
|
|
3229
|
-
return
|
|
2346
|
+
return rs;
|
|
3230
2347
|
}
|
|
3231
|
-
validateDerivePath(
|
|
3232
|
-
|
|
3233
|
-
parentAddress,
|
|
3234
|
-
suri
|
|
3235
|
-
} = _ref74;
|
|
3236
|
-
const parentPair = _uiKeyring.keyring.getPair(parentAddress);
|
|
3237
|
-
const isEvm = parentPair.type === 'ethereum';
|
|
3238
|
-
if (parentPair.isLocked) {
|
|
3239
|
-
_uiKeyring.keyring.unlockPair(parentPair.address);
|
|
3240
|
-
}
|
|
3241
|
-
const meta = {
|
|
3242
|
-
parentAddress
|
|
3243
|
-
};
|
|
3244
|
-
let childPair;
|
|
3245
|
-
if (isEvm) {
|
|
3246
|
-
let index = 0;
|
|
3247
|
-
try {
|
|
3248
|
-
const reg = /^\d+$/;
|
|
3249
|
-
const path = suri.split('//')[1];
|
|
3250
|
-
if (reg.test(path)) {
|
|
3251
|
-
index = parseInt(path);
|
|
3252
|
-
}
|
|
3253
|
-
} catch (e) {}
|
|
3254
|
-
if (!index) {
|
|
3255
|
-
throw Error((0, _i18next.t)('Invalid derive path'));
|
|
3256
|
-
}
|
|
3257
|
-
meta.suri = `//${index}`;
|
|
3258
|
-
childPair = parentPair.deriveEvm(index, meta);
|
|
3259
|
-
} else {
|
|
3260
|
-
meta.suri = suri;
|
|
3261
|
-
childPair = parentPair.derive(suri, meta);
|
|
3262
|
-
}
|
|
3263
|
-
return {
|
|
3264
|
-
address: childPair.address,
|
|
3265
|
-
suri: meta.suri
|
|
3266
|
-
};
|
|
2348
|
+
validateDerivePath(request) {
|
|
2349
|
+
return this.#koniState.keyringService.context.validateDerivePath(request);
|
|
3267
2350
|
}
|
|
3268
|
-
|
|
3269
|
-
|
|
3270
|
-
|
|
3271
|
-
|
|
3272
|
-
|
|
3273
|
-
} = _ref75;
|
|
3274
|
-
const parentPair = _uiKeyring.keyring.getPair(parentAddress);
|
|
3275
|
-
const isEvm = parentPair.type === 'ethereum';
|
|
3276
|
-
if (parentPair.isLocked) {
|
|
3277
|
-
_uiKeyring.keyring.unlockPair(parentPair.address);
|
|
3278
|
-
}
|
|
3279
|
-
const start = (page - 1) * limit + (isEvm ? 1 : 0);
|
|
3280
|
-
const end = start + limit;
|
|
3281
|
-
const result = [];
|
|
3282
|
-
for (let i = start; i < end; i++) {
|
|
3283
|
-
const suri = `//${i}`;
|
|
3284
|
-
const pair = isEvm ? parentPair.deriveEvm(i, {}) : parentPair.derive(suri, {});
|
|
3285
|
-
result.push({
|
|
3286
|
-
address: pair.address,
|
|
3287
|
-
suri: suri
|
|
3288
|
-
});
|
|
3289
|
-
}
|
|
3290
|
-
return {
|
|
3291
|
-
result: result
|
|
3292
|
-
};
|
|
2351
|
+
getDeriveSuggestion(request) {
|
|
2352
|
+
return this.#koniState.keyringService.context.getDeriveSuggestion(request);
|
|
2353
|
+
}
|
|
2354
|
+
getListDeriveAccounts(request) {
|
|
2355
|
+
return this.#koniState.keyringService.context.getListDeriveAccounts(request);
|
|
3293
2356
|
}
|
|
3294
2357
|
|
|
3295
2358
|
// ChainService -------------------------------------------------
|
|
@@ -3380,10 +2443,10 @@ class KoniExtension {
|
|
|
3380
2443
|
getSupportedSmartContractTypes() {
|
|
3381
2444
|
return this.#koniState.getSupportedSmartContractTypes();
|
|
3382
2445
|
}
|
|
3383
|
-
getTransaction(
|
|
2446
|
+
getTransaction(_ref43) {
|
|
3384
2447
|
let {
|
|
3385
2448
|
id
|
|
3386
|
-
} =
|
|
2449
|
+
} = _ref43;
|
|
3387
2450
|
const {
|
|
3388
2451
|
transaction,
|
|
3389
2452
|
...transactionResult
|
|
@@ -3393,8 +2456,8 @@ class KoniExtension {
|
|
|
3393
2456
|
subscribeTransactions(id, port) {
|
|
3394
2457
|
const cb = (0, _subscriptions.createSubscription)(id, port);
|
|
3395
2458
|
function convertRs(rs) {
|
|
3396
|
-
return Object.fromEntries(Object.entries(rs).map(
|
|
3397
|
-
let [key, value] =
|
|
2459
|
+
return Object.fromEntries(Object.entries(rs).map(_ref44 => {
|
|
2460
|
+
let [key, value] = _ref44;
|
|
3398
2461
|
const {
|
|
3399
2462
|
additionalValidator,
|
|
3400
2463
|
eventsHandler,
|
|
@@ -3426,10 +2489,10 @@ class KoniExtension {
|
|
|
3426
2489
|
});
|
|
3427
2490
|
return notificationSubject.value;
|
|
3428
2491
|
}
|
|
3429
|
-
async reloadCron(
|
|
2492
|
+
async reloadCron(_ref45) {
|
|
3430
2493
|
let {
|
|
3431
2494
|
data
|
|
3432
|
-
} =
|
|
2495
|
+
} = _ref45;
|
|
3433
2496
|
if (data === 'nft') {
|
|
3434
2497
|
return await this.#koniState.reloadNft();
|
|
3435
2498
|
} else if (data === 'staking') {
|
|
@@ -3473,20 +2536,20 @@ class KoniExtension {
|
|
|
3473
2536
|
|
|
3474
2537
|
// Phishing detect
|
|
3475
2538
|
|
|
3476
|
-
async passPhishingPage(
|
|
2539
|
+
async passPhishingPage(_ref46) {
|
|
3477
2540
|
let {
|
|
3478
2541
|
url
|
|
3479
|
-
} =
|
|
2542
|
+
} = _ref46;
|
|
3480
2543
|
return await this.#koniState.approvePassPhishingPage(url);
|
|
3481
2544
|
}
|
|
3482
2545
|
|
|
3483
2546
|
/// Wallet connect
|
|
3484
2547
|
|
|
3485
2548
|
// Connect
|
|
3486
|
-
async connectWalletConnect(
|
|
2549
|
+
async connectWalletConnect(_ref47) {
|
|
3487
2550
|
let {
|
|
3488
2551
|
uri
|
|
3489
|
-
} =
|
|
2552
|
+
} = _ref47;
|
|
3490
2553
|
await this.#koniState.walletConnectService.connect(uri);
|
|
3491
2554
|
return true;
|
|
3492
2555
|
}
|
|
@@ -3499,11 +2562,11 @@ class KoniExtension {
|
|
|
3499
2562
|
});
|
|
3500
2563
|
return this.#koniState.requestService.allConnectWCRequests;
|
|
3501
2564
|
}
|
|
3502
|
-
async approveWalletConnectSession(
|
|
2565
|
+
async approveWalletConnectSession(_ref48) {
|
|
3503
2566
|
let {
|
|
3504
2567
|
accounts: selectedAccounts,
|
|
3505
2568
|
id
|
|
3506
|
-
} =
|
|
2569
|
+
} = _ref48;
|
|
3507
2570
|
const request = this.#koniState.requestService.getConnectWCRequest(id);
|
|
3508
2571
|
if ((0, _helpers2.isProposalExpired)(request.request.params)) {
|
|
3509
2572
|
throw new Error('The proposal has been expired');
|
|
@@ -3515,22 +2578,22 @@ class KoniExtension {
|
|
|
3515
2578
|
const availableNamespaces = {};
|
|
3516
2579
|
const namespaces = {};
|
|
3517
2580
|
const chainInfoMap = this.#koniState.getChainInfoMap();
|
|
3518
|
-
Object.entries(requiredNamespaces).forEach(
|
|
3519
|
-
let [key, namespace] =
|
|
2581
|
+
Object.entries(requiredNamespaces).forEach(_ref49 => {
|
|
2582
|
+
let [key, namespace] = _ref49;
|
|
3520
2583
|
if ((0, _helpers2.isSupportWalletConnectNamespace)(key)) {
|
|
3521
2584
|
if (namespace.chains) {
|
|
3522
2585
|
const unSupportChains = namespace.chains.filter(chain => !(0, _helpers2.isSupportWalletConnectChain)(chain, chainInfoMap));
|
|
3523
2586
|
if (unSupportChains.length) {
|
|
3524
|
-
throw new Error((0,
|
|
2587
|
+
throw new Error((0, _utils6.getSdkError)('UNSUPPORTED_CHAINS').message + ' ' + unSupportChains.toString());
|
|
3525
2588
|
}
|
|
3526
2589
|
availableNamespaces[key] = namespace;
|
|
3527
2590
|
}
|
|
3528
2591
|
} else {
|
|
3529
|
-
throw new Error((0,
|
|
2592
|
+
throw new Error((0, _utils6.getSdkError)('UNSUPPORTED_NAMESPACE_KEY').message + ' ' + key);
|
|
3530
2593
|
}
|
|
3531
2594
|
});
|
|
3532
|
-
Object.entries(optionalNamespaces).forEach(
|
|
3533
|
-
let [key, namespace] =
|
|
2595
|
+
Object.entries(optionalNamespaces).forEach(_ref50 => {
|
|
2596
|
+
let [key, namespace] = _ref50;
|
|
3534
2597
|
if ((0, _helpers2.isSupportWalletConnectNamespace)(key)) {
|
|
3535
2598
|
if (namespace.chains) {
|
|
3536
2599
|
const supportChains = namespace.chains.filter(chain => (0, _helpers2.isSupportWalletConnectChain)(chain, chainInfoMap)) || [];
|
|
@@ -3554,11 +2617,11 @@ class KoniExtension {
|
|
|
3554
2617
|
}
|
|
3555
2618
|
}
|
|
3556
2619
|
});
|
|
3557
|
-
Object.entries(availableNamespaces).forEach(
|
|
3558
|
-
let [key, namespace] =
|
|
2620
|
+
Object.entries(availableNamespaces).forEach(_ref51 => {
|
|
2621
|
+
let [key, namespace] = _ref51;
|
|
3559
2622
|
if (namespace.chains) {
|
|
3560
2623
|
const accounts = [];
|
|
3561
|
-
const chains = (0,
|
|
2624
|
+
const chains = (0, _utils5.uniqueStringArray)(namespace.chains);
|
|
3562
2625
|
chains.forEach(chain => {
|
|
3563
2626
|
accounts.push(...selectedAccounts.filter(address => (0, _utilCrypto.isEthereumAddress)(address) === (key === _constants5.WALLET_CONNECT_EIP155_NAMESPACE)).map(address => `${chain}:${address}`));
|
|
3564
2627
|
});
|
|
@@ -3579,10 +2642,10 @@ class KoniExtension {
|
|
|
3579
2642
|
request.resolve();
|
|
3580
2643
|
return true;
|
|
3581
2644
|
}
|
|
3582
|
-
async rejectWalletConnectSession(
|
|
2645
|
+
async rejectWalletConnectSession(_ref52) {
|
|
3583
2646
|
let {
|
|
3584
2647
|
id
|
|
3585
|
-
} =
|
|
2648
|
+
} = _ref52;
|
|
3586
2649
|
const request = this.#koniState.requestService.getConnectWCRequest(id);
|
|
3587
2650
|
const wcId = request.request.id;
|
|
3588
2651
|
if ((0, _helpers2.isProposalExpired)(request.request.params)) {
|
|
@@ -3604,10 +2667,10 @@ class KoniExtension {
|
|
|
3604
2667
|
});
|
|
3605
2668
|
return this.#koniState.walletConnectService.sessions;
|
|
3606
2669
|
}
|
|
3607
|
-
async disconnectWalletConnectSession(
|
|
2670
|
+
async disconnectWalletConnectSession(_ref53) {
|
|
3608
2671
|
let {
|
|
3609
2672
|
topic
|
|
3610
|
-
} =
|
|
2673
|
+
} = _ref53;
|
|
3611
2674
|
await this.#koniState.walletConnectService.disconnect(topic);
|
|
3612
2675
|
return true;
|
|
3613
2676
|
}
|
|
@@ -3620,18 +2683,18 @@ class KoniExtension {
|
|
|
3620
2683
|
});
|
|
3621
2684
|
return this.#koniState.requestService.allNotSupportWCRequests;
|
|
3622
2685
|
}
|
|
3623
|
-
approveWalletConnectNotSupport(
|
|
2686
|
+
approveWalletConnectNotSupport(_ref54) {
|
|
3624
2687
|
let {
|
|
3625
2688
|
id
|
|
3626
|
-
} =
|
|
2689
|
+
} = _ref54;
|
|
3627
2690
|
const request = this.#koniState.requestService.getNotSupportWCRequest(id);
|
|
3628
2691
|
request.resolve();
|
|
3629
2692
|
return true;
|
|
3630
2693
|
}
|
|
3631
|
-
rejectWalletConnectNotSupport(
|
|
2694
|
+
rejectWalletConnectNotSupport(_ref55) {
|
|
3632
2695
|
let {
|
|
3633
2696
|
id
|
|
3634
|
-
} =
|
|
2697
|
+
} = _ref55;
|
|
3635
2698
|
const request = this.#koniState.requestService.getNotSupportWCRequest(id);
|
|
3636
2699
|
request.reject(new Error('USER_REJECTED'));
|
|
3637
2700
|
return true;
|
|
@@ -3639,11 +2702,11 @@ class KoniExtension {
|
|
|
3639
2702
|
|
|
3640
2703
|
/// Manta
|
|
3641
2704
|
|
|
3642
|
-
async enableMantaPay(
|
|
2705
|
+
async enableMantaPay(_ref56) {
|
|
3643
2706
|
let {
|
|
3644
2707
|
address,
|
|
3645
2708
|
password
|
|
3646
|
-
} =
|
|
2709
|
+
} = _ref56;
|
|
3647
2710
|
// always takes the current account
|
|
3648
2711
|
function timeout() {
|
|
3649
2712
|
return new Promise(resolve => setTimeout(resolve, 1500));
|
|
@@ -3665,7 +2728,7 @@ class KoniExtension {
|
|
|
3665
2728
|
}
|
|
3666
2729
|
const result = await this.#koniState.enableMantaPay(true, address, password, mnemonic.result);
|
|
3667
2730
|
this.#skipAutoLock = true;
|
|
3668
|
-
await this.
|
|
2731
|
+
await this.saveCurrentAccountProxy({
|
|
3669
2732
|
address
|
|
3670
2733
|
});
|
|
3671
2734
|
const unsubSyncProgress = await ((_this$koniState$chain = this.#koniState.chainService) === null || _this$koniState$chain === void 0 ? void 0 : (_this$koniState$chain2 = _this$koniState$chain.mantaPay) === null || _this$koniState$chain2 === void 0 ? void 0 : _this$koniState$chain2.subscribeSyncProgress());
|
|
@@ -3700,11 +2763,11 @@ class KoniExtension {
|
|
|
3700
2763
|
}
|
|
3701
2764
|
async initSyncMantaPay(address) {
|
|
3702
2765
|
var _this$koniState$chain3, _this$koniState$chain4, _this$koniState$chain5, _this$koniState$chain6;
|
|
3703
|
-
if ((_this$koniState$chain3 = this.#koniState.chainService) !== null && _this$koniState$chain3 !== void 0 && (_this$koniState$chain4 = _this$koniState$chain3.mantaPay) !== null && _this$koniState$chain4 !== void 0 && _this$koniState$chain4.getSyncState().isSyncing || !
|
|
2766
|
+
if ((_this$koniState$chain3 = this.#koniState.chainService) !== null && _this$koniState$chain3 !== void 0 && (_this$koniState$chain4 = _this$koniState$chain3.mantaPay) !== null && _this$koniState$chain4 !== void 0 && _this$koniState$chain4.getSyncState().isSyncing || !_utils5.MODULE_SUPPORT.MANTA_ZK) {
|
|
3704
2767
|
return;
|
|
3705
2768
|
}
|
|
3706
2769
|
this.#skipAutoLock = true;
|
|
3707
|
-
await this.
|
|
2770
|
+
await this.saveCurrentAccountProxy({
|
|
3708
2771
|
address
|
|
3709
2772
|
});
|
|
3710
2773
|
const unsubSyncProgress = await ((_this$koniState$chain5 = this.#koniState.chainService) === null || _this$koniState$chain5 === void 0 ? void 0 : (_this$koniState$chain6 = _this$koniState$chain5.mantaPay) === null || _this$koniState$chain6 === void 0 ? void 0 : _this$koniState$chain6.subscribeSyncProgress());
|
|
@@ -3733,6 +2796,22 @@ class KoniExtension {
|
|
|
3733
2796
|
async disableMantaPay(address) {
|
|
3734
2797
|
return this.#koniState.disableMantaPay(address);
|
|
3735
2798
|
}
|
|
2799
|
+
async isTonBounceableAddress(_ref57) {
|
|
2800
|
+
let {
|
|
2801
|
+
address,
|
|
2802
|
+
chain
|
|
2803
|
+
} = _ref57;
|
|
2804
|
+
try {
|
|
2805
|
+
const tonApi = this.#koniState.getTonApi(chain);
|
|
2806
|
+
const state = await tonApi.getAccountState(address);
|
|
2807
|
+
const isActive = state === 'active';
|
|
2808
|
+
const isBounceable = (0, _utils3.isBounceableAddress)(address);
|
|
2809
|
+
return !isActive && isBounceable;
|
|
2810
|
+
} catch (error) {
|
|
2811
|
+
console.error(`Failed to validate address ${address} on chain ${chain}:`, error);
|
|
2812
|
+
return false;
|
|
2813
|
+
}
|
|
2814
|
+
}
|
|
3736
2815
|
subscribeMantaPayConfig(id, port) {
|
|
3737
2816
|
const cb = (0, _subscriptions.createSubscription)(id, port);
|
|
3738
2817
|
const mantaPayConfigSubscription = this.#koniState.subscribeMantaPayConfig().subscribe({
|
|
@@ -3767,10 +2846,10 @@ class KoniExtension {
|
|
|
3767
2846
|
|
|
3768
2847
|
/* Metadata */
|
|
3769
2848
|
|
|
3770
|
-
async findRawMetadata(
|
|
2849
|
+
async findRawMetadata(_ref58) {
|
|
3771
2850
|
let {
|
|
3772
2851
|
genesisHash
|
|
3773
|
-
} =
|
|
2852
|
+
} = _ref58;
|
|
3774
2853
|
const {
|
|
3775
2854
|
metadata,
|
|
3776
2855
|
specVersion,
|
|
@@ -3784,20 +2863,20 @@ class KoniExtension {
|
|
|
3784
2863
|
userExtensions
|
|
3785
2864
|
};
|
|
3786
2865
|
}
|
|
3787
|
-
async calculateMetadataHash(
|
|
2866
|
+
async calculateMetadataHash(_ref59) {
|
|
3788
2867
|
let {
|
|
3789
2868
|
chain
|
|
3790
|
-
} =
|
|
2869
|
+
} = _ref59;
|
|
3791
2870
|
const hash = await this.#koniState.calculateMetadataHash(chain);
|
|
3792
2871
|
return {
|
|
3793
2872
|
metadataHash: hash || ''
|
|
3794
2873
|
};
|
|
3795
2874
|
}
|
|
3796
|
-
async shortenMetadata(
|
|
2875
|
+
async shortenMetadata(_ref60) {
|
|
3797
2876
|
let {
|
|
3798
2877
|
chain,
|
|
3799
2878
|
txBlob
|
|
3800
|
-
} =
|
|
2879
|
+
} = _ref60;
|
|
3801
2880
|
const shorten = await this.#koniState.shortenMetadata(chain, txBlob);
|
|
3802
2881
|
return {
|
|
3803
2882
|
txMetadata: shorten || ''
|
|
@@ -3817,11 +2896,11 @@ class KoniExtension {
|
|
|
3817
2896
|
|
|
3818
2897
|
/// Inject account
|
|
3819
2898
|
addInjects(request) {
|
|
3820
|
-
this.#koniState.keyringService.addInjectAccounts(request.accounts);
|
|
2899
|
+
this.#koniState.keyringService.context.addInjectAccounts(request.accounts);
|
|
3821
2900
|
return true;
|
|
3822
2901
|
}
|
|
3823
2902
|
removeInjects(request) {
|
|
3824
|
-
this.#koniState.keyringService.removeInjectAccounts(request.addresses);
|
|
2903
|
+
this.#koniState.keyringService.context.removeInjectAccounts(request.addresses);
|
|
3825
2904
|
return true;
|
|
3826
2905
|
}
|
|
3827
2906
|
async subscribeYieldPoolInfo(id, port) {
|
|
@@ -3853,7 +2932,7 @@ class KoniExtension {
|
|
|
3853
2932
|
address
|
|
3854
2933
|
} = data;
|
|
3855
2934
|
if (!data) {
|
|
3856
|
-
return this.#koniState.transactionService.generateBeforeHandleResponseErrors([new _TransactionError.TransactionError(
|
|
2935
|
+
return this.#koniState.transactionService.generateBeforeHandleResponseErrors([new _TransactionError.TransactionError(_types2.BasicTxErrorType.INTERNAL_ERROR)]);
|
|
3857
2936
|
}
|
|
3858
2937
|
const isLastStep = inputData.currentStep + 1 === path.steps.length;
|
|
3859
2938
|
const yieldValidation = await this.#koniState.earningService.validateYieldJoin({
|
|
@@ -3988,7 +3067,7 @@ class KoniExtension {
|
|
|
3988
3067
|
} = params;
|
|
3989
3068
|
const poolHandler = this.#koniState.earningService.getPoolHandler(slug);
|
|
3990
3069
|
if (!poolHandler) {
|
|
3991
|
-
return this.#koniState.transactionService.generateBeforeHandleResponseErrors([new _TransactionError.TransactionError(
|
|
3070
|
+
return this.#koniState.transactionService.generateBeforeHandleResponseErrors([new _TransactionError.TransactionError(_types2.BasicTxErrorType.INVALID_PARAMS)]);
|
|
3992
3071
|
}
|
|
3993
3072
|
const extrinsic = await this.#koniState.earningService.handleYieldWithdraw(params);
|
|
3994
3073
|
return await this.#koniState.transactionService.handleTransaction({
|
|
@@ -4008,7 +3087,7 @@ class KoniExtension {
|
|
|
4008
3087
|
} = params;
|
|
4009
3088
|
const poolHandler = this.#koniState.earningService.getPoolHandler(slug);
|
|
4010
3089
|
if (!poolHandler || !selectedUnstaking) {
|
|
4011
|
-
return this.#koniState.transactionService.generateBeforeHandleResponseErrors([new _TransactionError.TransactionError(
|
|
3090
|
+
return this.#koniState.transactionService.generateBeforeHandleResponseErrors([new _TransactionError.TransactionError(_types2.BasicTxErrorType.INVALID_PARAMS)]);
|
|
4012
3091
|
}
|
|
4013
3092
|
const chain = poolHandler.chain;
|
|
4014
3093
|
const extrinsic = await this.#koniState.earningService.handleYieldCancelUnstake(params);
|
|
@@ -4028,7 +3107,7 @@ class KoniExtension {
|
|
|
4028
3107
|
} = params;
|
|
4029
3108
|
const poolHandler = this.#koniState.earningService.getPoolHandler(slug);
|
|
4030
3109
|
if (!address || !poolHandler) {
|
|
4031
|
-
return this.#koniState.transactionService.generateBeforeHandleResponseErrors([new _TransactionError.TransactionError(
|
|
3110
|
+
return this.#koniState.transactionService.generateBeforeHandleResponseErrors([new _TransactionError.TransactionError(_types2.BasicTxErrorType.INVALID_PARAMS)]);
|
|
4032
3111
|
}
|
|
4033
3112
|
const extrinsic = await this.#koniState.earningService.handleYieldClaimReward(params);
|
|
4034
3113
|
return await this.#koniState.transactionService.handleTransaction({
|
|
@@ -4043,18 +3122,18 @@ class KoniExtension {
|
|
|
4043
3122
|
|
|
4044
3123
|
/* Campaign */
|
|
4045
3124
|
|
|
4046
|
-
unlockDotCheckCanMint(
|
|
3125
|
+
unlockDotCheckCanMint(_ref61) {
|
|
4047
3126
|
let {
|
|
4048
3127
|
address,
|
|
4049
3128
|
network,
|
|
4050
3129
|
slug
|
|
4051
|
-
} =
|
|
3130
|
+
} = _ref61;
|
|
4052
3131
|
return this.#koniState.mintCampaignService.unlockDotCampaign.canMint(address, slug, network);
|
|
4053
3132
|
}
|
|
4054
|
-
unlockDotSubscribeMintedData(id, port,
|
|
3133
|
+
unlockDotSubscribeMintedData(id, port, _ref62) {
|
|
4055
3134
|
let {
|
|
4056
3135
|
transactionId
|
|
4057
|
-
} =
|
|
3136
|
+
} = _ref62;
|
|
4058
3137
|
const cb = (0, _subscriptions.createSubscription)(id, port);
|
|
4059
3138
|
const subscription = this.#koniState.mintCampaignService.unlockDotCampaign.subscribeMintedNft(transactionId, cb);
|
|
4060
3139
|
this.createUnsubscriptionHandle(id, subscription.unsubscribe);
|
|
@@ -4086,10 +3165,10 @@ class KoniExtension {
|
|
|
4086
3165
|
});
|
|
4087
3166
|
return filterBanner(await this.#koniState.campaignService.getProcessingCampaign());
|
|
4088
3167
|
}
|
|
4089
|
-
async completeCampaignBanner(
|
|
3168
|
+
async completeCampaignBanner(_ref63) {
|
|
4090
3169
|
let {
|
|
4091
3170
|
slug
|
|
4092
|
-
} =
|
|
3171
|
+
} = _ref63;
|
|
4093
3172
|
const campaign = await this.#koniState.dbService.getCampaign(slug);
|
|
4094
3173
|
if (campaign) {
|
|
4095
3174
|
await this.#koniState.dbService.upsertCampaign({
|
|
@@ -4239,7 +3318,7 @@ class KoniExtension {
|
|
|
4239
3318
|
recipient
|
|
4240
3319
|
} = inputData;
|
|
4241
3320
|
if (!quote || !address || !process) {
|
|
4242
|
-
return this.#koniState.transactionService.generateBeforeHandleResponseErrors([new _TransactionError.TransactionError(
|
|
3321
|
+
return this.#koniState.transactionService.generateBeforeHandleResponseErrors([new _TransactionError.TransactionError(_types2.BasicTxErrorType.INTERNAL_ERROR)]);
|
|
4243
3322
|
}
|
|
4244
3323
|
const isLastStep = inputData.currentStep + 1 === process.steps.length;
|
|
4245
3324
|
const swapValidations = await this.#koniState.swapService.validateSwapProcess({
|
|
@@ -4310,22 +3389,8 @@ class KoniExtension {
|
|
|
4310
3389
|
case 'pri(ping)':
|
|
4311
3390
|
return 'pong';
|
|
4312
3391
|
/// Clone from PolkadotJs
|
|
4313
|
-
case 'pri(accounts.
|
|
4314
|
-
return this.accountsCreateExternal(request);
|
|
4315
|
-
case 'pri(accounts.create.hardware)':
|
|
4316
|
-
return this.accountsCreateHardware(request);
|
|
4317
|
-
case 'pri(accounts.create.suri)':
|
|
4318
|
-
return this.accountsCreateSuri(request);
|
|
4319
|
-
case 'pri(accounts.changePassword)':
|
|
4320
|
-
return this.accountsChangePassword(request);
|
|
4321
|
-
case 'pri(accounts.export)':
|
|
3392
|
+
case 'pri(accounts.export.json)':
|
|
4322
3393
|
return this.accountsExport(request);
|
|
4323
|
-
case 'pri(accounts.show)':
|
|
4324
|
-
return this.accountsShow(request);
|
|
4325
|
-
case 'pri(accounts.subscribe)':
|
|
4326
|
-
return this.accountsSubscribe(id, port);
|
|
4327
|
-
case 'pri(accounts.validate)':
|
|
4328
|
-
return this.accountsValidate(request);
|
|
4329
3394
|
case 'pri(metadata.approve)':
|
|
4330
3395
|
return this.metadataApprove(request);
|
|
4331
3396
|
case 'pri(metadata.get)':
|
|
@@ -4336,20 +3401,6 @@ class KoniExtension {
|
|
|
4336
3401
|
return this.metadataReject(request);
|
|
4337
3402
|
case 'pri(metadata.requests)':
|
|
4338
3403
|
return this.metadataSubscribe(id, port);
|
|
4339
|
-
case 'pri(derivation.create)':
|
|
4340
|
-
return this.derivationCreate(request);
|
|
4341
|
-
case 'pri(derivation.validate)':
|
|
4342
|
-
return this.derivationValidate(request);
|
|
4343
|
-
case 'pri(json.restore)':
|
|
4344
|
-
return this.jsonRestore(request);
|
|
4345
|
-
case 'pri(json.batchRestore)':
|
|
4346
|
-
return this.batchRestore(request);
|
|
4347
|
-
case 'pri(json.account.info)':
|
|
4348
|
-
return this.jsonGetAccountInfo(request);
|
|
4349
|
-
case 'pri(seed.create)':
|
|
4350
|
-
return this.seedCreate(request);
|
|
4351
|
-
case 'pri(seed.validate)':
|
|
4352
|
-
return this.seedValidate(request);
|
|
4353
3404
|
case 'pri(signing.approve.signature)':
|
|
4354
3405
|
return this.signingApproveSignature(request);
|
|
4355
3406
|
case 'pri(signing.cancel)':
|
|
@@ -4428,14 +3479,6 @@ class KoniExtension {
|
|
|
4428
3479
|
return this.getCrowdloanContributions(request);
|
|
4429
3480
|
case 'pri(crowdloan.getSubscription)':
|
|
4430
3481
|
return this.subscribeCrowdloan(id, port);
|
|
4431
|
-
case 'pri(derivation.createV2)':
|
|
4432
|
-
return this.derivationCreateV2(request);
|
|
4433
|
-
case 'pri(accounts.batchExportV2)':
|
|
4434
|
-
return this.batchExportV2(request);
|
|
4435
|
-
case 'pri(json.restoreV2)':
|
|
4436
|
-
return await this.jsonRestoreV2(request);
|
|
4437
|
-
case 'pri(json.batchRestoreV2)':
|
|
4438
|
-
return await this.batchRestoreV2(request);
|
|
4439
3482
|
case 'pri(nft.getNft)':
|
|
4440
3483
|
return await this.getNft();
|
|
4441
3484
|
case 'pri(nft.getSubscription)':
|
|
@@ -4511,7 +3554,7 @@ class KoniExtension {
|
|
|
4511
3554
|
/* Account management */
|
|
4512
3555
|
// Add account
|
|
4513
3556
|
case 'pri(accounts.create.suriV2)':
|
|
4514
|
-
return
|
|
3557
|
+
return this.accountsCreateSuriV2(request);
|
|
4515
3558
|
case 'pri(accounts.create.externalV2)':
|
|
4516
3559
|
return await this.accountsCreateExternalV2(request);
|
|
4517
3560
|
case 'pri(accounts.create.hardwareV2)':
|
|
@@ -4520,6 +3563,14 @@ class KoniExtension {
|
|
|
4520
3563
|
return await this.accountsCreateHardwareMultiple(request);
|
|
4521
3564
|
case 'pri(accounts.create.withSecret)':
|
|
4522
3565
|
return await this.accountsCreateWithSecret(request);
|
|
3566
|
+
case 'pri(accounts.json.info)':
|
|
3567
|
+
return this.parseInfoSingleJson(request);
|
|
3568
|
+
case 'pri(accounts.json.restoreV2)':
|
|
3569
|
+
return this.jsonRestoreV2(request);
|
|
3570
|
+
case 'pri(accounts.json.batchInfo)':
|
|
3571
|
+
return this.parseInfoMultiJson(request);
|
|
3572
|
+
case 'pri(accounts.json.batchRestoreV2)':
|
|
3573
|
+
return this.batchRestoreV2(request);
|
|
4523
3574
|
case 'pri(seed.createV2)':
|
|
4524
3575
|
return this.seedCreateV2(request);
|
|
4525
3576
|
|
|
@@ -4528,43 +3579,54 @@ class KoniExtension {
|
|
|
4528
3579
|
return await this.accountsForgetOverride(request);
|
|
4529
3580
|
|
|
4530
3581
|
// Validate account
|
|
4531
|
-
case 'pri(seed
|
|
3582
|
+
case 'pri(accounts.validate.seed)':
|
|
4532
3583
|
return this.seedValidateV2(request);
|
|
4533
|
-
case 'pri(privateKey
|
|
4534
|
-
return this.
|
|
4535
|
-
case 'pri(accounts.
|
|
3584
|
+
case 'pri(accounts.validate.privateKey)':
|
|
3585
|
+
return this.privateKeyValidateV2(request);
|
|
3586
|
+
case 'pri(accounts.validate.substrate.publicAndPrivateKey)':
|
|
4536
3587
|
return this.checkPublicAndSecretKey(request);
|
|
3588
|
+
case 'pri(accounts.validate.name)':
|
|
3589
|
+
return this.checkNameExists(request);
|
|
3590
|
+
case 'pri(accounts.validate.bounceable)':
|
|
3591
|
+
return this.isTonBounceableAddress(request);
|
|
4537
3592
|
|
|
4538
3593
|
// Export account
|
|
4539
|
-
case 'pri(accounts.
|
|
3594
|
+
case 'pri(accounts.export.privateKey)':
|
|
4540
3595
|
return this.accountExportPrivateKey(request);
|
|
3596
|
+
case 'pri(accounts.export.json.batch)':
|
|
3597
|
+
return this.batchExportV2(request);
|
|
3598
|
+
case 'pri(accounts.export.mnemonic)':
|
|
3599
|
+
return this.exportAccountProxyMnemonic(request);
|
|
4541
3600
|
|
|
4542
3601
|
// Subscribe account
|
|
4543
|
-
case 'pri(accounts.
|
|
3602
|
+
case 'pri(accounts.subscribeWithCurrentProxy)':
|
|
4544
3603
|
return await this.accountsGetAllWithCurrentAddress(id, port);
|
|
4545
3604
|
case 'pri(accounts.subscribeAccountsInputAddress)':
|
|
4546
|
-
return this.
|
|
3605
|
+
return this.subscribeInputAddressData(request, id, port);
|
|
4547
3606
|
|
|
4548
3607
|
// Save current account
|
|
4549
|
-
case 'pri(
|
|
4550
|
-
return await this.
|
|
4551
|
-
case 'pri(accounts.updateCurrentAddress)':
|
|
4552
|
-
return this.updateCurrentAccountAddress(request);
|
|
3608
|
+
case 'pri(accounts.saveCurrentProxy)':
|
|
3609
|
+
return await this.saveCurrentAccountProxy(request);
|
|
4553
3610
|
|
|
4554
3611
|
// Edit account
|
|
4555
3612
|
case 'pri(accounts.edit)':
|
|
4556
3613
|
return this.accountsEdit(request);
|
|
3614
|
+
// Ton change wallet contract version
|
|
3615
|
+
case 'pri(accounts.ton.version.map)':
|
|
3616
|
+
return this.tonGetAllTonWalletContractVersion(request);
|
|
3617
|
+
case 'pri(accounts.ton.version.change)':
|
|
3618
|
+
return this.tonAccountChangeWalletContractVersion(request);
|
|
4557
3619
|
|
|
4558
3620
|
// Save contact address
|
|
4559
|
-
case 'pri(
|
|
3621
|
+
case 'pri(addressBook.saveRecent)':
|
|
4560
3622
|
return this.saveRecentAccount(request);
|
|
4561
|
-
case 'pri(
|
|
3623
|
+
case 'pri(addressBook.edit)':
|
|
4562
3624
|
return this.editContactAccount(request);
|
|
4563
|
-
case 'pri(
|
|
3625
|
+
case 'pri(addressBook.delete)':
|
|
4564
3626
|
return this.deleteContactAccount(request);
|
|
4565
3627
|
|
|
4566
3628
|
// Subscribe address
|
|
4567
|
-
case 'pri(
|
|
3629
|
+
case 'pri(addressBook.subscribe)':
|
|
4568
3630
|
return this.subscribeAddresses(id, port);
|
|
4569
3631
|
case 'pri(accounts.resolveDomainToAddress)':
|
|
4570
3632
|
return await this.resolveDomainByAddress(request);
|
|
@@ -4622,8 +3684,6 @@ class KoniExtension {
|
|
|
4622
3684
|
return await this.updateAssetSetting(request);
|
|
4623
3685
|
case 'pri(transfer.getMaxTransferable)':
|
|
4624
3686
|
return this.getMaxTransferable(request);
|
|
4625
|
-
case 'pri(transfer.subscribeMaxTransferable)':
|
|
4626
|
-
return this.getMaxTransferable(request);
|
|
4627
3687
|
case 'pri(freeBalance.get)':
|
|
4628
3688
|
return this.getAddressTransferableBalance(request);
|
|
4629
3689
|
case 'pri(freeBalance.subscribe)':
|
|
@@ -4632,8 +3692,6 @@ class KoniExtension {
|
|
|
4632
3692
|
return this.cancelSubscription(request);
|
|
4633
3693
|
case 'pri(chainService.recoverSubstrateApi)':
|
|
4634
3694
|
return this.recoverDotSamaApi(request);
|
|
4635
|
-
case 'pri(accounts.get.meta)':
|
|
4636
|
-
return this.getAccountMeta(request);
|
|
4637
3695
|
|
|
4638
3696
|
/// Send NFT
|
|
4639
3697
|
case 'pri(evmNft.submitTransaction)':
|
|
@@ -4666,12 +3724,14 @@ class KoniExtension {
|
|
|
4666
3724
|
return this.rejectExternalRequest(request);
|
|
4667
3725
|
case 'pri(account.external.resolve)':
|
|
4668
3726
|
return this.resolveQrTransfer(request);
|
|
4669
|
-
case 'pri(accounts.tie)':
|
|
4670
|
-
return this.accountsTie2(request);
|
|
4671
3727
|
case 'pri(confirmations.subscribe)':
|
|
4672
3728
|
return this.subscribeConfirmations(id, port);
|
|
3729
|
+
case 'pri(confirmationsTon.subscribe)':
|
|
3730
|
+
return this.subscribeConfirmationsTon(id, port);
|
|
4673
3731
|
case 'pri(confirmations.complete)':
|
|
4674
3732
|
return await this.completeConfirmation(request);
|
|
3733
|
+
case 'pri(confirmationsTon.complete)':
|
|
3734
|
+
return await this.completeConfirmationTon(request);
|
|
4675
3735
|
|
|
4676
3736
|
/// Stake
|
|
4677
3737
|
case 'pri(bonding.getBondingOptions)':
|
|
@@ -4732,14 +3792,16 @@ class KoniExtension {
|
|
|
4732
3792
|
return this.signingApprovePasswordV2(request);
|
|
4733
3793
|
|
|
4734
3794
|
/// Derive account
|
|
4735
|
-
case 'pri(
|
|
3795
|
+
case 'pri(accounts.derive.validateV2)':
|
|
4736
3796
|
return this.validateDerivePath(request);
|
|
4737
|
-
case 'pri(
|
|
3797
|
+
case 'pri(accounts.derive.getList)':
|
|
4738
3798
|
return this.getListDeriveAccounts(request);
|
|
4739
|
-
case 'pri(
|
|
3799
|
+
case 'pri(accounts.derive.create.multiple)':
|
|
4740
3800
|
return this.derivationCreateMultiple(request);
|
|
4741
|
-
case 'pri(
|
|
3801
|
+
case 'pri(accounts.derive.createV3)':
|
|
4742
3802
|
return this.derivationCreateV3(request);
|
|
3803
|
+
case 'pri(accounts.derive.suggestion)':
|
|
3804
|
+
return this.getDeriveSuggestion(request);
|
|
4743
3805
|
|
|
4744
3806
|
// Transaction
|
|
4745
3807
|
case 'pri(transactions.getOne)':
|
|
@@ -4845,6 +3907,8 @@ class KoniExtension {
|
|
|
4845
3907
|
return this.#koniState.migrateMV3LocalStorage(request);
|
|
4846
3908
|
case 'pri(database.setLocalStorage)':
|
|
4847
3909
|
return this.#koniState.setStorageFromWS(request);
|
|
3910
|
+
case 'pri(database.getLocalStorage)':
|
|
3911
|
+
return this.#koniState.getStorageFromWS(request);
|
|
4848
3912
|
/* Database */
|
|
4849
3913
|
|
|
4850
3914
|
/* Swap service */
|